GstRegistry

GstRegistry — Abstract base class for management of GstPlugin objects

Synopsis


#include <gst/gst.h>


            GstRegistry;
GstRegistry* gst_registry_get_default       (void);
GList*      gst_registry_get_feature_list   (GstRegistry *registry,
                                             GType type);
GList*      gst_registry_get_feature_list_by_plugin
                                            (GstRegistry *registry,
                                             const gchar *name);
GList*      gst_registry_get_path_list      (GstRegistry *registry);
GList*      gst_registry_get_plugin_list    (GstRegistry *registry);
gboolean    gst_registry_add_plugin         (GstRegistry *registry,
                                             GstPlugin *plugin);
void        gst_registry_remove_plugin      (GstRegistry *registry,
                                             GstPlugin *plugin);
GList*      gst_registry_plugin_filter      (GstRegistry *registry,
                                             GstPluginFilter filter,
                                             gboolean first,
                                             gpointer user_data);
GList*      gst_registry_feature_filter     (GstRegistry *registry,
                                             GstPluginFeatureFilter filter,
                                             gboolean first,
                                             gpointer user_data);
GstPlugin*  gst_registry_find_plugin        (GstRegistry *registry,
                                             const gchar *name);
GstPluginFeature* gst_registry_find_feature (GstRegistry *registry,
                                             const gchar *name,
                                             GType type);
GstPluginFeature* gst_registry_lookup_feature
                                            (GstRegistry *registry,
                                             const char *name);
void        gst_registry_scan_path          (GstRegistry *registry,
                                             const gchar *path);
gboolean    gst_registry_xml_read_cache     (GstRegistry *registry,
                                             const char *location);
gboolean    gst_registry_xml_write_cache    (GstRegistry *registry,
                                             const char *location);
GstPlugin*  gst_registry_lookup             (GstRegistry *registry,
                                             const char *filename);
void        gst_registry_remove_feature     (GstRegistry *registry,
                                             GstPluginFeature *feature);
gboolean    gst_registry_add_feature        (GstRegistry *registry,
                                             GstPluginFeature *feature);

gboolean    gst_default_registry_check_feature_version
                                            (const gchar *feature_name,
                                             guint min_major,
                                             guint min_minor,
                                             guint min_micro);
#define     gst_default_registry_get_path_list()
#define     gst_default_registry_add_plugin (plugin)
#define     gst_default_registry_add_path   (path)
#define     gst_default_registry_find_plugin(name)
#define     gst_default_registry_find_feature(name,type)
#define     gst_default_registry_get_plugin_list()
#define     gst_default_registry_feature_filter(filter,first,user_data)


Object Hierarchy


  GObject
   +----GstObject
         +----GstRegistry

Description

One registry holds the metadata of a set of plugins. All registries build the GstRegistryPool.

Details

GstRegistry

typedef struct _GstRegistry GstRegistry;

Opaque GstRegistry structure.


gst_registry_get_default ()

GstRegistry* gst_registry_get_default       (void);

Retrieves the default registry. The caller does not own a reference on the registry, as it is alive as long as GStreamer is initialized.

Returns : The default GstRegistry.

gst_registry_get_feature_list ()

GList*      gst_registry_get_feature_list   (GstRegistry *registry,
                                             GType type);

Retrieves a GList of GstPluginFeature of type.

registry : a GstRegistry
type : a GType.
Returns : a GList of GstPluginFeature of type. gst_plugin_feature_list_free after usage. MT safe.

gst_registry_get_feature_list_by_plugin ()

GList*      gst_registry_get_feature_list_by_plugin
                                            (GstRegistry *registry,
                                             const gchar *name);

Retrieves a GList of features of the plugin with name name.

registry : a GstRegistry.
name : a plugin name.
Returns : a GList of GstPluginFeature. gst_plugin_feature_list_free() after usage.

gst_registry_get_path_list ()

GList*      gst_registry_get_path_list      (GstRegistry *registry);

Get the list of paths for the given registry.

registry : the registry to get the pathlist of
Returns : A Glist of paths as strings. g_list_free after use. MT safe.

gst_registry_get_plugin_list ()

GList*      gst_registry_get_plugin_list    (GstRegistry *registry);

Get a copy of all plugins registered in the given registry. The refcount of each element in the list in incremented.

registry : the registry to search
Returns : a GList of GstPlugin. gst_plugin_list_free after use. MT safe.

gst_registry_add_plugin ()

gboolean    gst_registry_add_plugin         (GstRegistry *registry,
                                             GstPlugin *plugin);

Add the plugin to the registry. The plugin-added signal will be emitted. This function will sink plugin.

registry : the registry to add the plugin to
plugin : the plugin to add
Returns : TRUE on success. MT safe.

gst_registry_remove_plugin ()

void        gst_registry_remove_plugin      (GstRegistry *registry,
                                             GstPlugin *plugin);

Remove the plugin from the registry.

MT safe.

registry : the registry to remove the plugin from
plugin : the plugin to remove

gst_registry_plugin_filter ()

GList*      gst_registry_plugin_filter      (GstRegistry *registry,
                                             GstPluginFilter filter,
                                             gboolean first,
                                             gpointer user_data);

Runs a filter against all plugins in the registry and returns a GList with the results. If the first flag is set, only the first match is returned (as a list with a single object). Every plugin is reffed; use gst_plugin_list_free() after use, which will unref again.

registry : registry to query
filter : the filter to use
first : only return first match
user_data : user data passed to the filter function
Returns : a GList of GstPlugin. Use gst_plugin_list_free() after usage. MT safe.

gst_registry_feature_filter ()

GList*      gst_registry_feature_filter     (GstRegistry *registry,
                                             GstPluginFeatureFilter filter,
                                             gboolean first,
                                             gpointer user_data);

Runs a filter against all features of the plugins in the registry and returns a GList with the results. If the first flag is set, only the first match is returned (as a list with a single object).

registry : registry to query
filter : the filter to use
first : only return first match
user_data : user data passed to the filter function
Returns : a GList of plugin features, gst_plugin_feature_list_free after use. MT safe.

gst_registry_find_plugin ()

GstPlugin*  gst_registry_find_plugin        (GstRegistry *registry,
                                             const gchar *name);

Find the plugin with the given name in the registry. The plugin will be reffed; caller is responsible for unreffing.

registry : the registry to search
name : the plugin name to find
Returns : The plugin with the given name or NULL if the plugin was not found. gst_object_unref() after usage. MT safe.

gst_registry_find_feature ()

GstPluginFeature* gst_registry_find_feature (GstRegistry *registry,
                                             const gchar *name,
                                             GType type);

Find the pluginfeature with the given name and type in the registry.

registry : the registry to search
name : the pluginfeature name to find
type : the pluginfeature type to find
Returns : The pluginfeature with the given name and type or NULL if the plugin was not found. gst_object_unref() after usage. MT safe.

gst_registry_lookup_feature ()

GstPluginFeature* gst_registry_lookup_feature
                                            (GstRegistry *registry,
                                             const char *name);

Find a GstPluginFeature with name in registry.

registry : a GstRegistry
name : a GstPluginFeature name
Returns : a GstPluginFeature with its refcount incremented, use gst_object_unref() after usage. MT safe.

gst_registry_scan_path ()

void        gst_registry_scan_path          (GstRegistry *registry,
                                             const gchar *path);

Add the given path to the registry. The syntax of the path is specific to the registry. If the path has already been added, do nothing.

registry : the registry to add the path to
path : the path to add to the registry

gst_registry_xml_read_cache ()

gboolean    gst_registry_xml_read_cache     (GstRegistry *registry,
                                             const char *location);

Read the contents of the XML cache file at location location into registry.

registry : a GstRegistry
location : a filename
Returns : TRUE on success.

gst_registry_xml_write_cache ()

gboolean    gst_registry_xml_write_cache    (GstRegistry *registry,
                                             const char *location);

Write registry in an XML format at the location given by location. Directories are automatically created.

registry : a GstRegistry
location : a filename
Returns : TRUE on success.

gst_registry_lookup ()

GstPlugin*  gst_registry_lookup             (GstRegistry *registry,
                                             const char *filename);

Look up a plugin in the given registry with the given filename. If found, plugin is reffed.

registry : the registry to look up in
filename : the name of the file to look up
Returns : the GstPlugin if found, or NULL if not. gst_object_unref() after usage.

gst_registry_remove_feature ()

void        gst_registry_remove_feature     (GstRegistry *registry,
                                             GstPluginFeature *feature);

Remove the feature from the registry.

MT safe.

registry : the registry to remove the feature from
feature : the feature to remove

gst_registry_add_feature ()

gboolean    gst_registry_add_feature        (GstRegistry *registry,
                                             GstPluginFeature *feature);

Add the feature to the registry. The feature-added signal will be emitted. This function sinks feature.

registry : the registry to add the plugin to
feature : the feature to add
Returns : TRUE on success. MT safe.

gst_default_registry_check_feature_version ()

gboolean    gst_default_registry_check_feature_version
                                            (const gchar *feature_name,
                                             guint min_major,
                                             guint min_minor,
                                             guint min_micro);

Checks whether a plugin feature by the given name exists in the default registry and whether its version is at least the version required.

feature_name : the name of the feature (e.g. "oggdemux")
min_major : the minimum major version number
min_minor : the minimum minor version number
min_micro : the minimum micro version number
Returns : TRUE if the feature could be found and the version is the same as the required version or newer, and FALSE otherwise.

gst_default_registry_get_path_list()

#define     gst_default_registry_get_path_list()

Get the list of paths for the default registry.


gst_default_registry_add_plugin()

#define     gst_default_registry_add_plugin(plugin)

Add the plugin to the default registry. The plugin-added signal will be emitted.

plugin : the plugin to add

gst_default_registry_add_path()

#define     gst_default_registry_add_path(path)

Add the given path to the default registry. The syntax of the path is specific to the registry. If the path has already been added, do nothing.

path : the path to add to the registry

gst_default_registry_find_plugin()

#define     gst_default_registry_find_plugin(name)

Find the plugin with the given name in the default registry. The plugin will be reffed; caller is responsible for unreffing.

name : the plugin name to find

gst_default_registry_find_feature()

#define     gst_default_registry_find_feature(name,type)

Find the pluginfeature with the given name and type in the default registry.

name : the pluginfeature name to find
type : the pluginfeature type to find

gst_default_registry_get_plugin_list()

#define     gst_default_registry_get_plugin_list()

Get a copy of all plugins registered in the default registry.


gst_default_registry_feature_filter()

#define     gst_default_registry_feature_filter(filter,first,user_data)

Runs a filter against all features of the plugins in the default registry and returns a GList with the results. If the first flag is set, only the first match is returned (as a list with a single object).

filter : the filter to use
first : only return first match
user_data : user data passed to the filter function

See Also

GstPlugin, GstPluginFeature