GstPreset

GstPreset — helper interface for element presets

Synopsis


#include <gst/gst.h>

                    GstPreset;
                    GstPresetInterface;
gchar**             gst_preset_get_preset_names         (GstPreset *preset);
gchar**             gst_preset_get_property_names       (GstPreset *preset);
gboolean            gst_preset_load_preset              (GstPreset *preset,
                                                         const gchar *name);
gboolean            gst_preset_save_preset              (GstPreset *preset,
                                                         const gchar *name);
gboolean            gst_preset_rename_preset            (GstPreset *preset,
                                                         const gchar *old_name,
                                                         const gchar *new_name);
gboolean            gst_preset_delete_preset            (GstPreset *preset,
                                                         const gchar *name);
gboolean            gst_preset_set_meta                 (GstPreset *preset,
                                                         const gchar *name,
                                                         const gchar *tag,
                                                         const gchar *value);
gboolean            gst_preset_get_meta                 (GstPreset *preset,
                                                         const gchar *name,
                                                         const gchar *tag,
                                                         gchar **value);

Object Hierarchy

  GInterface
   +----GstPreset

Description

This interface offers methods to query and manipulate parameter preset sets. A preset is a bunch of property settings, together with meta data and a name. The name of a preset serves as key for subsequent method calls to manipulate single presets. All instances of one type will share the list of presets. The list is created on demand, if presets are not used, the list is not created.

The interface comes with a default implementation that serves most plugins. Wrapper plugins will override most methods to implement support for the native preset format of those wrapped plugins. One method that is useful to be overridden is gst_preset_get_property_names(). With that one can control which properties are saved and in which order.

Details

GstPreset

typedef struct _GstPreset GstPreset;

Opaque GstPreset data structure.


GstPresetInterface

typedef struct {
  GTypeInterface parent;

  /* methods */
  gchar**      (*get_preset_names)    (GstPreset *preset);

  gchar**      (*get_property_names)  (GstPreset *preset);

  gboolean     (*load_preset)         (GstPreset *preset, const gchar *name);
  gboolean     (*save_preset)         (GstPreset *preset, const gchar *name);
  gboolean     (*rename_preset)       (GstPreset *preset, const gchar *old_name,
                                       const gchar *new_name);
  gboolean     (*delete_preset)       (GstPreset *preset, const gchar *name);
  
  gboolean     (*set_meta)            (GstPreset *preset, const gchar *name,
                                       const gchar *tag, const gchar *value);
  gboolean     (*get_meta)            (GstPreset *preset, const gchar *name,
                                       const gchar *tag, gchar **value);
} GstPresetInterface;

GstPreset interface.

GTypeInterface parent; parent interface type.
get_preset_names () virtual method to get list of presets
get_property_names () virtual methods to get properties that are persistent
load_preset () virtual methods to load a preset into properties
save_preset () virtual methods to save properties into a preset
rename_preset () virtual methods to rename a preset
delete_preset () virtual methods to remove a preset
set_meta () virtual methods to set textual meta data to a preset
get_meta () virtual methods to get textual meta data from a preset

gst_preset_get_preset_names ()

gchar**             gst_preset_get_preset_names         (GstPreset *preset);

Get a copy of preset names as a NULL terminated string array.

preset : a GObject that implements GstPreset
Returns : list with names, ue g_strfreev() after usage.

Since 0.10.20


gst_preset_get_property_names ()

gchar**             gst_preset_get_property_names       (GstPreset *preset);

Get a the names of the GObject properties that can be used for presets.

preset : a GObject that implements GstPreset
Returns : an array of property names which should be freed with g_strfreev() after use.

Since 0.10.20


gst_preset_load_preset ()

gboolean            gst_preset_load_preset              (GstPreset *preset,
                                                         const gchar *name);

Load the given preset.

preset : a GObject that implements GstPreset
name : preset name to load
Returns : TRUE for success, FALSE if e.g. there is no preset with that name

Since 0.10.20


gst_preset_save_preset ()

gboolean            gst_preset_save_preset              (GstPreset *preset,
                                                         const gchar *name);

Save the current preset under the given name. If there is already a preset by this name it will be overwritten.

preset : a GObject that implements GstPreset
name : preset name to save
Returns : TRUE for success, FALSE

Since 0.10.20


gst_preset_rename_preset ()

gboolean            gst_preset_rename_preset            (GstPreset *preset,
                                                         const gchar *old_name,
                                                         const gchar *new_name);

Renames a preset. If there is already a preset by the new_name it will be overwritten.

preset : a GObject that implements GstPreset
old_name : current preset name
new_name : new preset name
Returns : TRUE for success, FALSE if e.g. there is no preset with old_name

Since 0.10.20


gst_preset_delete_preset ()

gboolean            gst_preset_delete_preset            (GstPreset *preset,
                                                         const gchar *name);

Delete the given preset.

preset : a GObject that implements GstPreset
name : preset name to remove
Returns : TRUE for success, FALSE if e.g. there is no preset with that name

Since 0.10.20


gst_preset_set_meta ()

gboolean            gst_preset_set_meta                 (GstPreset *preset,
                                                         const gchar *name,
                                                         const gchar *tag,
                                                         const gchar *value);

Sets a new value for an existing meta data item or adds a new item. Meta data tag names can be something like e.g. "comment". Supplying NULL for the value will unset an existing value.

preset : a GObject that implements GstPreset
name : preset name
tag : meta data item name
value : new value
Returns : TRUE for success, FALSE if e.g. there is no preset with that name

Since 0.10.20


gst_preset_get_meta ()

gboolean            gst_preset_get_meta                 (GstPreset *preset,
                                                         const gchar *name,
                                                         const gchar *tag,
                                                         gchar **value);

Gets the value for an existing meta data tag. Meta data tag names can be something like e.g. "comment". Returned values need to be released when done.

preset : a GObject that implements GstPreset
name : preset name
tag : meta data item name
value : value
Returns : TRUE for success, FALSE if e.g. there is no preset with that name or no value for the given tag

Since 0.10.20