GstRegistry

Name

GstRegistry -- Abstract class for managing plugins.

Synopsis


#include <gst/gst.h>


enum        GstRegistryReturn;
enum        GstRegistryFlags;
struct      GstRegistry;
gboolean    gst_registry_load               (GstRegistry *registry);
gboolean    gst_registry_is_loaded          (GstRegistry *registry);
gboolean    gst_registry_save               (GstRegistry *registry);
gboolean    gst_registry_rebuild            (GstRegistry *registry);
gboolean    gst_registry_unload             (GstRegistry *registry);
void        gst_registry_add_path           (GstRegistry *registry,
                                             const gchar *path);
GList*      gst_registry_get_path_list      (GstRegistry *registry);
void        gst_registry_clear_paths        (GstRegistry *registry);
gboolean    gst_registry_add_plugin         (GstRegistry *registry,
                                             GstPlugin *plugin);
void        gst_registry_remove_plugin      (GstRegistry *registry,
                                             GstPlugin *plugin);
GstPlugin*  gst_registry_find_plugin        (GstRegistry *registry,
                                             const gchar *name);
GstPluginFeature* gst_registry_find_feature (GstRegistry *registry,
                                             const gchar *name,
                                             GType type);
GstRegistryReturn gst_registry_load_plugin  (GstRegistry *registry,
                                             GstPlugin *plugin);
GstRegistryReturn gst_registry_unload_plugin
                                            (GstRegistry *registry,
                                             GstPlugin *plugin);
GstRegistryReturn gst_registry_update_plugin
                                            (GstRegistry *registry,
                                             GstPlugin *plugin);
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_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 holds the available plugins in the system.

Details

enum GstRegistryReturn

typedef enum {
  GST_REGISTRY_OK			= (0),
  GST_REGISTRY_LOAD_ERROR		= (1 << 1),
  GST_REGISTRY_SAVE_ERROR		= (1 << 2),
  GST_REGISTRY_PLUGIN_LOAD_ERROR	= (1 << 3),
  GST_REGISTRY_PLUGIN_SIGNATURE_ERROR	= (1 << 4)
} GstRegistryReturn;

The return value of registry operations

GST_REGISTRY_OK

The registry reported no error.

GST_REGISTRY_LOAD_ERROR

There was a load error

GST_REGISTRY_SAVE_ERROR

There was an error saving the registry

GST_REGISTRY_PLUGIN_LOAD_ERROR

There was an error loading a plugin

GST_REGISTRY_PLUGIN_SIGNATURE_ERROR

There was an error saving a plugin


enum GstRegistryFlags

typedef enum {
  GST_REGISTRY_READABLE			= (1 << 1),
  GST_REGISTRY_WRITABLE			= (1 << 2),
  GST_REGISTRY_EXISTS			= (1 << 3),
  GST_REGISTRY_REMOTE			= (1 << 4),
  GST_REGISTRY_DELAYED_LOADING		= (1 << 5)
} GstRegistryFlags;

Flags for the registry

GST_REGISTRY_READABLE

The registry can be read

GST_REGISTRY_WRITABLE

The registry can be written to

GST_REGISTRY_EXISTS

The registry exists

GST_REGISTRY_REMOTE

The registry is remote and might be slower

GST_REGISTRY_DELAYED_LOADING

The registry will be loaded on demand.


struct GstRegistry

struct GstRegistry {
  GObject 	 object;

  gint 		 priority;
  GstRegistryFlags flags;

  gchar 	*name;
  gchar 	*details;

  gboolean	 loaded;
  GList		*plugins;

  GList 	*paths;

  gpointer	 dummy[8];
};

The registry object


gst_registry_load ()

gboolean    gst_registry_load               (GstRegistry *registry);

Load the given registry

registry :

the registry to load

Returns :

TRUE on success.


gst_registry_is_loaded ()

gboolean    gst_registry_is_loaded          (GstRegistry *registry);

Check if the given registry is loaded

registry :

the registry to check

Returns :

TRUE if loaded.


gst_registry_save ()

gboolean    gst_registry_save               (GstRegistry *registry);

Save the contents of the given registry

registry :

the registry to save

Returns :

TRUE on success


gst_registry_rebuild ()

gboolean    gst_registry_rebuild            (GstRegistry *registry);

Rebuild the given registry

registry :

the registry to rebuild

Returns :

TRUE on success


gst_registry_unload ()

gboolean    gst_registry_unload             (GstRegistry *registry);

Unload the given registry

registry :

the registry to unload

Returns :

TRUE on success


gst_registry_add_path ()

void        gst_registry_add_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_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.


gst_registry_clear_paths ()

void        gst_registry_clear_paths        (GstRegistry *registry);

Clear the paths of the given registry

registry :

the registry to clear the paths of


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.

registry :

the registry to add the plugin to

plugin :

the plugin to add

Returns :

TRUE on success.


gst_registry_remove_plugin ()

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

Remove the plugin from the registry.

registry :

the registry to remove the plugin from

plugin :

the plugin to remove


gst_registry_find_plugin ()

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

Find the plugin with the given name in the registry.

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_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_registry_load_plugin ()

GstRegistryReturn gst_registry_load_plugin  (GstRegistry *registry,
                                             GstPlugin *plugin);

Bring the plugin from the registry into memory.

registry :

the registry to load the plugin from

plugin :

the plugin to load

Returns :

a value indicating the result


gst_registry_unload_plugin ()

GstRegistryReturn gst_registry_unload_plugin
                                            (GstRegistry *registry,
                                             GstPlugin *plugin);

Unload the plugin from the given registry.

registry :

the registry to unload the plugin from

plugin :

the plugin to unload

Returns :

a value indicating the result


gst_registry_update_plugin ()

GstRegistryReturn gst_registry_update_plugin
                                            (GstRegistry *registry,
                                             GstPlugin *plugin);

Update the plugin in the given registry.

registry :

the registry to update

plugin :

the plugin to update

Returns :

a value indicating the result


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_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

GstPlugin, GstPluginFeature