| Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
|---|---|
| License | LGPL-2.1 |
| Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
| Safe Haskell | None |
| Language | Haskell2010 |
GI.Gst.Structs.Meta
Contents
Description
The GstBuffer metadata structure. The structure defines the API of the metadata and should be accessible to all elements using the metadata.
A metadata API is registered with gst_meta_api_type_register() which takes a name for the metadata API and some tags associated with the metadata. With gst_meta_api_type_has_tag() one can check if a certain metadata API contains a given tag.
Multiple implementations of a metadata API can be registered. To implement a metadata API, gst_meta_register() should be used. This function takes all parameters needed to create, free and transform metadata along with the size of the metadata. The function returns a #GstMetaInfo structure that contains the information for the implementation of the API.
A specific implementation can be retrieved by name with gst_meta_get_info().
See #GstBuffer for how the metadata can be added, retrieved and removed from buffers.
- newtype Meta = Meta (ManagedPtr Meta)
- newZeroMeta :: MonadIO m => m Meta
- noMeta :: Maybe Meta
- metaApiTypeGetTags :: MonadIO m => GType -> m [Text]
- metaApiTypeHasTag :: MonadIO m => GType -> Word32 -> m Bool
- metaApiTypeRegister :: MonadIO m => Text -> Text -> m GType
- metaGetInfo :: MonadIO m => Text -> m (Maybe MetaInfo)
- metaRegister :: MonadIO m => GType -> Text -> Word64 -> MetaInitFunction -> MetaFreeFunction -> MetaTransformFunction -> m MetaInfo
- getMetaFlags :: MonadIO m => Meta -> m [MetaFlags]
- meta_flags :: AttrLabelProxy "flags"
- setMetaFlags :: MonadIO m => Meta -> [MetaFlags] -> m ()
- clearMetaInfo :: MonadIO m => Meta -> m ()
- getMetaInfo :: MonadIO m => Meta -> m (Maybe MetaInfo)
- meta_info :: AttrLabelProxy "info"
- setMetaInfo :: MonadIO m => Meta -> Ptr MetaInfo -> m ()
Exported types
Instances
| WrappedPtr Meta Source # | |
| (~) AttrOpTag tag AttrSet => Constructible Meta tag Source # | |
| ((~) * info (ResolveMetaMethod t Meta), MethodInfo * info Meta p) => IsLabel t (Meta -> p) Source # | |
| ((~) * info (ResolveMetaMethod t Meta), MethodInfo * info Meta p) => IsLabelProxy t (Meta -> p) Source # | |
| HasAttributeList * Meta Source # | |
| type AttributeList Meta Source # | |
Methods
apiTypeGetTags
metaApiTypeGetTags :: MonadIO m => GType -> m [Text] Source #
apiTypeHasTag
apiTypeRegister
metaApiTypeRegister :: MonadIO m => Text -> Text -> m GType Source #
getInfo
register
metaRegister :: MonadIO m => GType -> Text -> Word64 -> MetaInitFunction -> MetaFreeFunction -> MetaTransformFunction -> m MetaInfo Source #
Properties
flags
meta_flags :: AttrLabelProxy "flags" Source #
info
clearMetaInfo :: MonadIO m => Meta -> m () Source #