| 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 (ForeignPtr 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
- metaFlags :: AttrLabelProxy "flags"
- metaReadFlags :: MonadIO m => Meta -> m [MetaFlags]
- metaWriteFlags :: MonadIO m => Meta -> [MetaFlags] -> m ()
- metaClearInfo :: MonadIO m => Meta -> m ()
- metaInfo :: AttrLabelProxy "info"
- metaReadInfo :: MonadIO m => Meta -> m (Maybe MetaInfo)
- metaWriteInfo :: MonadIO m => Meta -> Ptr MetaInfo -> m ()
Exported types
Constructors
| Meta (ForeignPtr Meta) |
Instances
| WrappedPtr Meta Source | |
| (~) AttrOpTag tag AttrSet => Constructible Meta tag Source | |
| ((~) * info (ResolveMetaMethod t Meta), MethodInfo * info Meta p) => IsLabelProxy t (Meta -> p) Source | |
| type AttributeList Meta Source |
newZeroMeta :: MonadIO m => m Meta Source
Construct a Meta struct initialized to zero.
Methods
metaApiTypeGetTags
metaApiTypeGetTags :: MonadIO m => GType -> m [Text] Source
metaApiTypeHasTag
metaApiTypeRegister
metaGetInfo
metaRegister
metaRegister :: MonadIO m => GType -> Text -> Word64 -> MetaInitFunction -> MetaFreeFunction -> MetaTransformFunction -> m MetaInfo Source
Properties
Flags
metaFlags :: AttrLabelProxy "flags" Source
metaReadFlags :: MonadIO m => Meta -> m [MetaFlags] Source
metaWriteFlags :: MonadIO m => Meta -> [MetaFlags] -> m () Source
Info
metaClearInfo :: MonadIO m => Meta -> m () Source
metaInfo :: AttrLabelProxy "info" Source