## GstRegistryPool

GstRegistryPool — Management of a group of GstRegistry objects

## Synopsis

    #include <gst/gst.h>

    GList*      gst_registry_pool_list          (void);
    void        gst_registry_pool_add           (GstRegistry *registry,
                                                 guint priority);
    void        gst_registry_pool_remove        (GstRegistry *registry);
    void        gst_registry_pool_add_plugin    (GstPlugin *plugin);
    void        gst_registry_pool_load_all      (void);
    GList*      gst_registry_pool_plugin_filter (GstPluginFilter filter,
                                                 gboolean first,
                                                 gpointer user_data);
    GList*      gst_registry_pool_feature_filter
                                                (GstPluginFeatureFilter filter,
                                                 gboolean first,
                                                 gpointer user_data);
    GList*      gst_registry_pool_plugin_list   (void);
    GList*      gst_registry_pool_feature_list  (GType type);
    GstPlugin*  gst_registry_pool_find_plugin   (const gchar *name);
    GstPluginFeature* gst_registry_pool_find_feature
                                                (const gchar *name,
                                                 GType type);
    GstRegistry* gst_registry_pool_get_prefered (GstRegistryFlags flags);

## Description

The registry pool manages the available registries and plugins in the system.

## Details

### gst_registry_pool_list ()

    GList*      gst_registry_pool_list          (void);

Get a list of all registries in the pool

Returns : | a Glist of GstRegistries, g_list_free after use.

### gst_registry_pool_add ()

    void        gst_registry_pool_add           (GstRegistry *registry,
                                                 guint priority);

Add the registry to the pool with the given priority.

`registry` : | the registry to add
`priority` : | the priority of the registry

### gst_registry_pool_remove ()

    void        gst_registry_pool_remove        (GstRegistry *registry);

Remove the registry from the pool.

`registry` : | the registry to remove

### gst_registry_pool_add_plugin ()

    void        gst_registry_pool_add_plugin    (GstPlugin *plugin);

Add the plugin to the global pool of plugins.

`plugin` : | the plugin to add

### gst_registry_pool_load_all ()

    void        gst_registry_pool_load_all      (void);

Load all the registries in the pool. Registries with the GST_REGISTRY_DELAYED_LOADING will not be loaded.

### gst_registry_pool_plugin_filter ()

    GList*      gst_registry_pool_plugin_filter (GstPluginFilter filter,
                                                 gboolean first,
                                                 gpointer user_data);

Runs a filter against all plugins in all registries 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
Returns : | a GList of plugins, g_list_free after use.

### gst_registry_pool_feature_filter ()

    GList*      gst_registry_pool_feature_filter
                                                (GstPluginFeatureFilter filter,
                                                 gboolean first,
                                                 gpointer user_data);

Apply the filter function to all features and return a list of those features that satisfy the filter. If the first flag is TRUE, only the first match is returned in a GList with one element.

`filter` : | the filter to apply to the feature list
`first` : | return the first matching feature
`user_data` : | data passed to the filter function
Returns : | a GList of pluginfeatures, g_list_free after use.

### gst_registry_pool_plugin_list ()

    GList*      gst_registry_pool_plugin_list   (void);

Get a list of all plugins in the pool.

Returns : | a GList of plugins, g_list_free after use.

### gst_registry_pool_feature_list ()

    GList*      gst_registry_pool_feature_list  (GType type);

Get a list of all pluginfeatures of the given type in the pool.

`type` : | the type of the features to list.
Returns : | a GList of pluginfeatures, g_list_free after use.

### gst_registry_pool_find_plugin ()

    GstPlugin*  gst_registry_pool_find_plugin   (const gchar *name);

Get the named plugin from the registry pool

`name` : | the name of the plugin to find
Returns : | The plugin with the given name or NULL if the plugin was not found.

### gst_registry_pool_find_feature ()

    GstPluginFeature* gst_registry_pool_find_feature
                                                (const gchar *name,
                                                 GType type);

Get the pluginfeature with the given name and type from the pool of registries.

`name` : | the name of the pluginfeature to find
`type` : | the type of the pluginfeature to find
Returns : | A pluginfeature with the given name and type or NULL if the feature was not found.

### gst_registry_pool_get_prefered ()

    GstRegistry* gst_registry_pool_get_prefered (GstRegistryFlags flags);

Get the prefered registry with the given flags

`flags` : | The flags for the prefered registry
Returns : | The registry with the flags.

## See Also

GstRegistry