GESMetaContainer

GESMetaContainer — An interface for storing meta

Synopsis

#include <ges/ges.h>

                    GESMetaContainer;
void                (*GESMetaForeachFunc)               (const GESMetaContainer *container,
                                                         const gchar *key,
                                                         const GValue *value,
                                                         gpointer user_data);
void                ges_meta_container_foreach          (GESMetaContainer *container,
                                                         GESMetaForeachFunc func,
                                                         gpointer user_data);
const GValue *      ges_meta_container_get_meta         (GESMetaContainer *container,
                                                         const gchar *key);
gboolean            ges_meta_container_get_boolean      (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         gboolean *dest);
gboolean            ges_meta_container_get_date         (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         GDate **dest);
gboolean            ges_meta_container_get_date_time    (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         GstDateTime **dest);
gboolean            ges_meta_container_get_double       (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         gdouble *dest);
gboolean            ges_meta_container_get_float        (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         gfloat *dest);
gboolean            ges_meta_container_get_int          (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         gint *dest);
gboolean            ges_meta_container_get_int64        (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         gint64 *dest);
const gchar *       ges_meta_container_get_string       (GESMetaContainer *container,
                                                         const gchar *meta_item);
gboolean            ges_meta_container_get_uint         (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         guint *dest);
gboolean            ges_meta_container_get_uint64       (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         guint64 *dest);
gboolean            ges_meta_container_set_boolean      (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         gboolean value);
gboolean            ges_meta_container_set_date         (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         const GDate *value);
gboolean            ges_meta_container_set_date_time    (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         const GstDateTime *value);
gboolean            ges_meta_container_set_double       (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         gdouble value);
gboolean            ges_meta_container_set_float        (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         gfloat value);
gboolean            ges_meta_container_set_int          (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         gint value);
gboolean            ges_meta_container_set_int64        (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         gint64 value);
gboolean            ges_meta_container_set_string       (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         const gchar *value);
gboolean            ges_meta_container_set_uint         (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         guint value);
gboolean            ges_meta_container_set_uint64       (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         guint64 value);
gboolean            ges_meta_container_set_meta         (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         const GValue *value);
gboolean            ges_meta_container_register_meta_boolean
                                                        (GESMetaContainer *container,
                                                         GESMetaFlag flags,
                                                         const gchar *meta_item,
                                                         gboolean value);
gboolean            ges_meta_container_register_meta_int
                                                        (GESMetaContainer *container,
                                                         GESMetaFlag flags,
                                                         const gchar *meta_item,
                                                         gint value);
gboolean            ges_meta_container_register_meta_uint
                                                        (GESMetaContainer *container,
                                                         GESMetaFlag flags,
                                                         const gchar *meta_item,
                                                         guint value);
gboolean            ges_meta_container_register_meta_int64
                                                        (GESMetaContainer *container,
                                                         GESMetaFlag flags,
                                                         const gchar *meta_item,
                                                         gint64 value);
gboolean            ges_meta_container_register_meta_uint64
                                                        (GESMetaContainer *container,
                                                         GESMetaFlag flags,
                                                         const gchar *meta_item,
                                                         guint64 value);
gboolean            ges_meta_container_register_meta_float
                                                        (GESMetaContainer *container,
                                                         GESMetaFlag flags,
                                                         const gchar *meta_item,
                                                         gfloat value);
gboolean            ges_meta_container_register_meta_double
                                                        (GESMetaContainer *container,
                                                         GESMetaFlag flags,
                                                         const gchar *meta_item,
                                                         gdouble value);
gboolean            ges_meta_container_register_meta_date
                                                        (GESMetaContainer *container,
                                                         GESMetaFlag flags,
                                                         const gchar *meta_item,
                                                         const GDate *value);
gboolean            ges_meta_container_register_meta_date_time
                                                        (GESMetaContainer *container,
                                                         GESMetaFlag flags,
                                                         const gchar *meta_item,
                                                         const GstDateTime *value);
gboolean            ges_meta_container_register_meta_string
                                                        (GESMetaContainer *container,
                                                         GESMetaFlag flags,
                                                         const gchar *meta_item,
                                                         const gchar *value);
gboolean            ges_meta_container_register_meta    (GESMetaContainer *container,
                                                         GESMetaFlag flags,
                                                         const gchar *meta_item,
                                                         const GValue *value);
gchar *             ges_meta_container_metas_to_string  (GESMetaContainer *container);
gboolean            ges_meta_container_add_metas_from_string
                                                        (GESMetaContainer *container,
                                                         const gchar *str);
GType               ges_meta_container_get_type         (void);
gboolean            ges_meta_container_check_meta_registered
                                                        (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         GESMetaFlag *flags,
                                                         GType *type);
#define             GES_META_FORMATTER_NAME
#define             GES_META_FORMATTER_MIMETYPE
#define             GES_META_FORMATTER_EXTENSION
#define             GES_META_FORMATTER_VERSION
#define             GES_META_FORMATTER_RANK
#define             GES_META_DESCRIPTION

Object Hierarchy

  GInterface
   +----GESMetaContainer

Prerequisites

GESMetaContainer requires GObject.

Known Implementations

GESMetaContainer is implemented by GESAsset, GESAudioSource, GESAudioTestSource, GESAudioTransition, GESAudioUriSource, GESBaseEffect, GESBaseEffectClip, GESBaseTransitionClip, GESClip, GESClipAsset, GESContainer, GESEffect, GESEffectClip, GESImageSource, GESLayer, GESOperation, GESOperationClip, GESOverlayClip, GESProject, GESSource, GESSourceClip, GESTestClip, GESTextOverlay, GESTextOverlayClip, GESTimeline, GESTimelineElement, GESTitleClip, GESTitleSource, GESTrack, GESTrackElement, GESTrackElementAsset, GESTransition, GESTransitionClip, GESUriClip, GESUriClipAsset, GESUriSourceAsset, GESVideoSource, GESVideoTestSource, GESVideoTransition and GESVideoUriSource.

Signals

  "notify-meta"                                    : No Hooks

Description

Interface that allows reading and writing meta

Details

GESMetaContainer

typedef struct _GESMetaContainer GESMetaContainer;

GESMetaForeachFunc ()

void                (*GESMetaForeachFunc)               (const GESMetaContainer *container,
                                                         const gchar *key,
                                                         const GValue *value,
                                                         gpointer user_data);

ges_meta_container_foreach ()

void                ges_meta_container_foreach          (GESMetaContainer *container,
                                                         GESMetaForeachFunc func,
                                                         gpointer user_data);

Calls the given function for each metadata inside the meta container. Note that if there is no metadata, the function won't be called at all.

container :

container to iterate over

func :

function to be called for each metadata. [scope call]

user_data :

user specified data. [closure]

ges_meta_container_get_meta ()

const GValue *      ges_meta_container_get_meta         (GESMetaContainer *container,
                                                         const gchar *key);

Gets the value of a given meta item, returns NULL if meta_item can not be found.

container :

Target container

key :

Get the key name of the meta to retrieve

Returns :

TRUE if the vale could be optained FALSE otherwize

ges_meta_container_get_boolean ()

gboolean            ges_meta_container_get_boolean      (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         gboolean *dest);

container :

Target container

meta_item :

Name of the meta item to get

dest :

Destination to which value of meta item will be copied Gets the value of a given meta item, returns NULL if meta_item can not be found. [out]

ges_meta_container_get_date ()

gboolean            ges_meta_container_get_date         (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         GDate **dest);

container :

Target container

meta_item :

Name of the meta item to get

dest :

Destination to which value of meta item will be copied Gets the value of a given meta item, returns NULL if meta_item can not be found. [out]

ges_meta_container_get_date_time ()

gboolean            ges_meta_container_get_date_time    (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         GstDateTime **dest);

container :

Target container

meta_item :

Name of the meta item to get

dest :

Destination to which value of meta item will be copied Gets the value of a given meta item, returns NULL if meta_item can not be found. [out]

ges_meta_container_get_double ()

gboolean            ges_meta_container_get_double       (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         gdouble *dest);

container :

Target container

meta_item :

Name of the meta item to get

dest :

Destination to which value of meta item will be copied Gets the value of a given meta item, returns NULL if meta_item can not be found. [out]

ges_meta_container_get_float ()

gboolean            ges_meta_container_get_float        (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         gfloat *dest);

container :

Target container

meta_item :

Name of the meta item to get

dest :

Destination to which value of meta item will be copied Gets the value of a given meta item, returns FALSE if meta_item can not be found. [out]

ges_meta_container_get_int ()

gboolean            ges_meta_container_get_int          (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         gint *dest);

container :

Target container

meta_item :

Name of the meta item to get

dest :

Destination to which value of meta item will be copied Gets the value of a given meta item, returns NULL if meta_item can not be found. [out]

ges_meta_container_get_int64 ()

gboolean            ges_meta_container_get_int64        (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         gint64 *dest);

container :

Target container

meta_item :

Name of the meta item to get

dest :

Destination to which value of meta item will be copied Gets the value of a given meta item, returns FALSE if meta_item can not be found. [out]

ges_meta_container_get_string ()

const gchar *       ges_meta_container_get_string       (GESMetaContainer *container,
                                                         const gchar *meta_item);

container :

Target container

meta_item :

Name of the meta item to get Gets the value of a given meta item, returns NULL if meta_item can not be found.

ges_meta_container_get_uint ()

gboolean            ges_meta_container_get_uint         (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         guint *dest);

container :

Target container

meta_item :

Name of the meta item to get

dest :

Destination to which value of meta item will be copied Gets the value of a given meta item, returns NULL if meta_item can not be found. [out]

ges_meta_container_get_uint64 ()

gboolean            ges_meta_container_get_uint64       (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         guint64 *dest);

container :

Target container

meta_item :

Name of the meta item to get

dest :

Destination to which value of meta item will be copied Gets the value of a given meta item, returns NULL if meta_item can not be found. [out]

ges_meta_container_set_boolean ()

gboolean            ges_meta_container_set_boolean      (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         gboolean value);

Sets the value of a given meta item

Return: TRUE if the meta could be added, FALSE otherwize

container :

Target container

meta_item :

Name of the meta item to set

value :

Value to set. [allow-none]

ges_meta_container_set_date ()

gboolean            ges_meta_container_set_date         (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         const GDate *value);

Sets the value of a given meta item

Return: TRUE if the meta could be added, FALSE otherwize

container :

Target container

meta_item :

Name of the meta item to set

value :

Value to set

ges_meta_container_set_date_time ()

gboolean            ges_meta_container_set_date_time    (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         const GstDateTime *value);

Sets the value of a given meta item

Return: TRUE if the meta could be added, FALSE otherwize

container :

Target container

meta_item :

Name of the meta item to set

value :

Value to set

ges_meta_container_set_double ()

gboolean            ges_meta_container_set_double       (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         gdouble value);

Sets the value of a given meta item

Return: TRUE if the meta could be added, FALSE otherwize

container :

Target container

meta_item :

Name of the meta item to set

value :

Value to set

ges_meta_container_set_float ()

gboolean            ges_meta_container_set_float        (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         gfloat value);

Sets the value of a given meta item

Return: TRUE if the meta could be added, FALSE otherwize

container :

Target container

meta_item :

Name of the meta item to set

value :

Value to set

ges_meta_container_set_int ()

gboolean            ges_meta_container_set_int          (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         gint value);

Sets the value of a given meta item

Return: TRUE if the meta could be added, FALSE otherwize

container :

Target container

meta_item :

Name of the meta item to set

value :

Value to set

ges_meta_container_set_int64 ()

gboolean            ges_meta_container_set_int64        (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         gint64 value);

Sets the value of a given meta item

Return: TRUE if the meta could be added, FALSE otherwize

container :

Target container

meta_item :

Name of the meta item to set

value :

Value to set

ges_meta_container_set_string ()

gboolean            ges_meta_container_set_string       (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         const gchar *value);

Sets the value of a given meta item

Return: TRUE if the meta could be added, FALSE otherwize

container :

Target container

meta_item :

Name of the meta item to set

value :

Value to set

ges_meta_container_set_uint ()

gboolean            ges_meta_container_set_uint         (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         guint value);

Sets the value of a given meta item

Return: TRUE if the meta could be added, FALSE otherwize

container :

Target container

meta_item :

Name of the meta item to set

value :

Value to set

ges_meta_container_set_uint64 ()

gboolean            ges_meta_container_set_uint64       (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         guint64 value);

Sets the value of a given meta item

Return: TRUE if the meta could be added, FALSE otherwize

container :

Target container

meta_item :

Name of the meta item to set

value :

Value to set

ges_meta_container_set_meta ()

gboolean            ges_meta_container_set_meta         (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         const GValue *value);

Return: TRUE if the meta could be added, FALSE otherwize

container :

Target container

meta_item :

Name of the meta item to set

value :

Value to set Sets the value of a given meta item

ges_meta_container_register_meta_boolean ()

gboolean            ges_meta_container_register_meta_boolean
                                                        (GESMetaContainer *container,
                                                         GESMetaFlag flags,
                                                         const gchar *meta_item,
                                                         gboolean value);

ges_meta_container_register_meta_int ()

gboolean            ges_meta_container_register_meta_int
                                                        (GESMetaContainer *container,
                                                         GESMetaFlag flags,
                                                         const gchar *meta_item,
                                                         gint value);

Sets a static meta on container. This method lets you define static metadatas, which means that the type of the registered will be the only type accepted for this meta on that particular container.

Return: TRUE if the meta could be register, FALSE otherwize

container :

Target container

flags :

The GESMetaFlag to be used

meta_item :

Name of the meta item to set

value :

Value to set. [allow-none]

ges_meta_container_register_meta_uint ()

gboolean            ges_meta_container_register_meta_uint
                                                        (GESMetaContainer *container,
                                                         GESMetaFlag flags,
                                                         const gchar *meta_item,
                                                         guint value);

Sets a static meta on container. This method lets you define static metadatas, which means that the type of the registered will be the only type accepted for this meta on that particular container.

Return: TRUE if the meta could be register, FALSE otherwize

container :

Target container

flags :

The GESMetaFlag to be used

meta_item :

Name of the meta item to set

value :

Value to set. [allow-none]

ges_meta_container_register_meta_int64 ()

gboolean            ges_meta_container_register_meta_int64
                                                        (GESMetaContainer *container,
                                                         GESMetaFlag flags,
                                                         const gchar *meta_item,
                                                         gint64 value);

Sets a static meta on container. This method lets you define static metadatas, which means that the type of the registered will be the only type accepted for this meta on that particular container.

Return: TRUE if the meta could be register, FALSE otherwize

container :

Target container

flags :

The GESMetaFlag to be used

meta_item :

Name of the meta item to set

value :

Value to set. [allow-none]

ges_meta_container_register_meta_uint64 ()

gboolean            ges_meta_container_register_meta_uint64
                                                        (GESMetaContainer *container,
                                                         GESMetaFlag flags,
                                                         const gchar *meta_item,
                                                         guint64 value);

Sets a static meta on container. This method lets you define static metadatas, which means that the type of the registered will be the only type accepted for this meta on that particular container.

Return: TRUE if the meta could be register, FALSE otherwize

container :

Target container

flags :

The GESMetaFlag to be used

meta_item :

Name of the meta item to set

value :

Value to set. [allow-none]

ges_meta_container_register_meta_float ()

gboolean            ges_meta_container_register_meta_float
                                                        (GESMetaContainer *container,
                                                         GESMetaFlag flags,
                                                         const gchar *meta_item,
                                                         gfloat value);

Sets a static meta on container. This method lets you define static metadatas, which means that the type of the registered will be the only type accepted for this meta on that particular container.

Return: TRUE if the meta could be register, FALSE otherwize

container :

Target container

flags :

The GESMetaFlag to be used

meta_item :

Name of the meta item to set

value :

Value to set. [allow-none]

ges_meta_container_register_meta_double ()

gboolean            ges_meta_container_register_meta_double
                                                        (GESMetaContainer *container,
                                                         GESMetaFlag flags,
                                                         const gchar *meta_item,
                                                         gdouble value);

Sets a static meta on container. This method lets you define static metadatas, which means that the type of the registered will be the only type accepted for this meta on that particular container.

Return: TRUE if the meta could be register, FALSE otherwize

container :

Target container

flags :

The GESMetaFlag to be used

meta_item :

Name of the meta item to set

value :

Value to set. [allow-none]

ges_meta_container_register_meta_date ()

gboolean            ges_meta_container_register_meta_date
                                                        (GESMetaContainer *container,
                                                         GESMetaFlag flags,
                                                         const gchar *meta_item,
                                                         const GDate *value);

Sets a static meta on container. This method lets you define static metadatas, which means that the type of the registered will be the only type accepted for this meta on that particular container.

Return: TRUE if the meta could be register, FALSE otherwize

container :

Target container

flags :

The GESMetaFlag to be used

meta_item :

Name of the meta item to set

value :

Value to set. [allow-none]

ges_meta_container_register_meta_date_time ()

gboolean            ges_meta_container_register_meta_date_time
                                                        (GESMetaContainer *container,
                                                         GESMetaFlag flags,
                                                         const gchar *meta_item,
                                                         const GstDateTime *value);

Sets a static meta on container. This method lets you define static metadatas, which means that the type of the registered will be the only type accepted for this meta on that particular container.

Return: TRUE if the meta could be register, FALSE otherwize

container :

Target container

flags :

The GESMetaFlag to be used

meta_item :

Name of the meta item to set

value :

Value to set. [allow-none]

ges_meta_container_register_meta_string ()

gboolean            ges_meta_container_register_meta_string
                                                        (GESMetaContainer *container,
                                                         GESMetaFlag flags,
                                                         const gchar *meta_item,
                                                         const gchar *value);

Sets a static meta on container. This method lets you define static metadatas, which means that the type of the registered will be the only type accepted for this meta on that particular container.

Return: TRUE if the meta could be register, FALSE otherwize

container :

Target container

flags :

The GESMetaFlag to be used

meta_item :

Name of the meta item to set

value :

Value to set. [allow-none]

ges_meta_container_register_meta ()

gboolean            ges_meta_container_register_meta    (GESMetaContainer *container,
                                                         GESMetaFlag flags,
                                                         const gchar *meta_item,
                                                         const GValue *value);

Sets a static meta on container. This method lets you define static metadatas, which means that the type of the registered will be the only type accepted for this meta on that particular container.

Return: TRUE if the static meta could be added, FALSE otherwize

container :

Target container

flags :

The GESMetaFlag to be used

meta_item :

Name of the meta item to set

value :

Value to set

ges_meta_container_metas_to_string ()

gchar *             ges_meta_container_metas_to_string  (GESMetaContainer *container);

Serializes a meta container to a string.

container :

a GESMetaContainer

Returns :

a newly-allocated string, or NULL in case of an error. The string must be freed with g_free() when no longer needed.

ges_meta_container_add_metas_from_string ()

gboolean            ges_meta_container_add_metas_from_string
                                                        (GESMetaContainer *container,
                                                         const gchar *str);

Deserializes a meta container.

str :

a string created with ges_meta_container_metas_to_string()

container :

Target container

Returns :

a new GESMetaContainer, or NULL in case of an error. [transfer full]

ges_meta_container_get_type ()

GType               ges_meta_container_get_type         (void);

ges_meta_container_check_meta_registered ()

gboolean            ges_meta_container_check_meta_registered
                                                        (GESMetaContainer *container,
                                                         const gchar *meta_item,
                                                         GESMetaFlag *flags,
                                                         GType *type);

GES_META_FORMATTER_NAME

#define GES_META_FORMATTER_NAME                       "name"

Name of a formatter it is used as ID of Formater assets (string)

The name of the formatter


GES_META_FORMATTER_MIMETYPE

#define GES_META_FORMATTER_MIMETYPE                   "mimetype"

Mimetype used for the file produced by a formatter (string)

The mime type


GES_META_FORMATTER_EXTENSION

#define GES_META_FORMATTER_EXTENSION                  "extension"

The extension of the files produced by a formatter (string)


GES_META_FORMATTER_VERSION

#define GES_META_FORMATTER_VERSION                    "version"

The version of a formatter (double)

The formatter version


GES_META_FORMATTER_RANK

#define GES_META_FORMATTER_RANK                       "rank"

The rank of a formatter (GstRank)

The rank of a formatter


GES_META_DESCRIPTION

#define GES_META_DESCRIPTION                         "description"

The description of an object, can be used in various context (string)

The description

Signal Details

The "notify-meta" signal

void                user_function                      (GESMetaContainer *gesmetacontainer,
                                                        gchar            *arg1,
                                                        GValue           *arg2,
                                                        gpointer          user_data)             : No Hooks