# GstRegistry

One registry holds the metadata of a set of plugins.

Design:

The GstRegistry object is a list of plugins and some functions for dealing with them. Each GstPlugin is matched 1-1 with a file on disk, and may or may not be loaded at a given time.

The primary source, at all times, of plugin information is each plugin file itself. Thus, if an application wants information about a particular plugin, or wants to search for a feature that satisfies given criteria, the primary means of doing so is to load every plugin and look at the resulting information that is gathered in the default registry. Clearly, this is a time consuming process, so we cache information in the registry file. The format and location of the cache file is internal to gstreamer.

On startup, plugins are searched for in the plugin search path. The following locations are checked in this order:

- location from --gst-plugin-path commandline option.
- the GST_PLUGIN_PATH environment variable.
- the GST_PLUGIN_SYSTEM_PATH environment variable.
- default locations (if GST_PLUGIN_SYSTEM_PATH is not set). Those default locations are: `$XDG_DATA_HOME/gstreamer-$GST_API_VERSION/plugins/` and `$prefix/libs/gstreamer-$GST_API_VERSION/`. $XDG_DATA_HOME defaults to `$HOME/.local/share`.

The registry cache file is loaded from `$XDG_CACHE_HOME/gstreamer-$GST_API_VERSION/registry-$ARCH.bin` (where $XDG_CACHE_HOME defaults to `$HOME/.cache`) or the file listed in the `GST_REGISTRY` env var. One reason to change the registry location is for testing.

For each plugin that is found in the plugin search path, there could be 3 possibilities for cached information:

- the cache may not contain information about a given file.
- the cache may have stale information.
- the cache may have current information.

In the first two cases, the plugin is loaded and the cache updated. In addition to these cases, the cache may have entries for plugins that are not relevant to the current process. These are marked as not available to the current process. If the cache is updated for whatever reason, it is marked dirty.

A dirty cache is written out at the end of initialization. Each entry is checked to make sure the information is minimally valid. If not, the entry is simply dropped.

## Implementation notes:

The "cache" and "registry" are different concepts and can represent different sets of plugins. For various reasons, at init time, the cache is stored in the default registry, and plugins not relevant to the current process are marked with the GST_PLUGIN_FLAG_CACHED bit. These plugins are removed at the end of initialization.

## GstRegistry

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstRegistry

Opaque GstRegistry structure.

### Members

`object` (GstObject) –
No description available

### Class structure

#### GstRegistryClass

##### Fields

`parent_class` (GstObjectClass) –
No description available

### Gst.RegistryClass

##### Attributes

`parent_class` (Gst.ObjectClass) –
No description available

### Gst.RegistryClass

##### Attributes

`parent_class` (Gst.ObjectClass) –
No description available

## Gst.Registry

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.Registry

Opaque Gst.Registry structure.

### Members

`object` (Gst.Object) –
No description available

## Gst.Registry

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.Registry

Opaque Gst.Registry structure.

### Members

`object` (Gst.Object) –
No description available

### Methods

#### 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.

feature's reference count will be incremented, and any floating reference will be removed (see gst_object_ref_sink)

Parameters:

`registry` –

the registry to add the plugin to

`feature` ( [transfer: floating]) –

the feature to add

Returns –

TRUE on success.

MT safe.

#### Gst.Registry.prototype.add_feature

    function Gst.Registry.prototype.add_feature(feature: Gst.PluginFeature): {
        // javascript wrapper for 'gst_registry_add_feature'
    }

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

feature's reference count will be incremented, and any floating reference will be removed (see gst_object_ref_sink (not introspectable))

Parameters:

`registry` (Gst.Registry) –

the registry to add the plugin to

`feature` (Gst.PluginFeature) –

the feature to add

Returns (Number) –

true on success.

MT safe.

#### Gst.Registry.add_feature

    def Gst.Registry.add_feature (self, feature):
        #python wrapper for 'gst_registry_add_feature'

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

feature's reference count will be incremented, and any floating reference will be removed (see gst_object_ref_sink (not introspectable))

Parameters:

`registry` (Gst.Registry) –

the registry to add the plugin to

`feature` (Gst.PluginFeature) –

the feature to add

Returns (bool) –

True on success.

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.

plugin's reference count will be incremented, and any floating reference will be removed (see gst_object_ref_sink)

Parameters:

`registry` –

the registry to add the plugin to

`plugin` ( [transfer: floating]) –

the plugin to add

Returns –

TRUE on success.

MT safe.

#### Gst.Registry.prototype.add_plugin

    function Gst.Registry.prototype.add_plugin(plugin: Gst.Plugin): {
        // javascript wrapper for 'gst_registry_add_plugin'
    }

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

plugin's reference count will be incremented, and any floating reference will be removed (see gst_object_ref_sink (not introspectable))

Parameters:

`registry` (Gst.Registry) –

the registry to add the plugin to

`plugin` (Gst.Plugin) –

the plugin to add

Returns (Number) –

true on success.

MT safe.

#### Gst.Registry.add_plugin

    def Gst.Registry.add_plugin (self, plugin):
        #python wrapper for 'gst_registry_add_plugin'

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

plugin's reference count will be incremented, and any floating reference will be removed (see gst_object_ref_sink (not introspectable))

Parameters:

`registry` (Gst.Registry) –

the registry to add the plugin to

`plugin` (Gst.Plugin) –

the plugin to add

Returns (bool) –

True on success.

MT safe.

#### gst_registry_check_feature_version

    gboolean
    gst_registry_check_feature_version (GstRegistry * registry,
                                        const gchar * feature_name,
                                        guint min_major,
                                        guint min_minor,
                                        guint min_micro)

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

Parameters:

`registry` –

a GstRegistry

`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.Registry.prototype.check_feature_version

    function Gst.Registry.prototype.check_feature_version(feature_name: String, min_major: Number, min_minor: Number, min_micro: Number): {
        // javascript wrapper for 'gst_registry_check_feature_version'
    }

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

Parameters:

`registry` (Gst.Registry) –

a Gst.Registry

`feature_name` (String) –

the name of the feature (e.g. "oggdemux")

`min_major` (Number) –

the minimum major version number

`min_minor` (Number) –

the minimum minor version number

`min_micro` (Number) –

the minimum micro version number

Returns (Number) –

true if the feature could be found and the version is the same as the required version or newer, and false otherwise.

#### Gst.Registry.check_feature_version

    def Gst.Registry.check_feature_version (self, feature_name, min_major, min_minor, min_micro):
        #python wrapper for 'gst_registry_check_feature_version'

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

Parameters:

`registry` (Gst.Registry) –

a Gst.Registry

`feature_name` (str) –

the name of the feature (e.g. "oggdemux")

`min_major` (int) –

the minimum major version number

`min_minor` (int) –

the minimum minor version number

`min_micro` (int) –

the minimum micro version number

Returns (bool) –

True if the feature could be found and the version is the same as the required version or newer, and False otherwise.

#### 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).

Parameters:

`registry` –

registry to query

`filter` ( [scope call][closure]) –

the filter to use

`first` –

only return first match

`user_data` –

user data passed to the filter function

Returns ( [transfer: full][element-type Gst.PluginFeature]) –

a GList of GstPluginFeature. Use gst_plugin_feature_list_free after usage.

MT safe.

#### Gst.Registry.prototype.feature_filter

    function Gst.Registry.prototype.feature_filter(filter: Gst.PluginFeatureFilter, first: Number, user_data: Object): {
        // javascript wrapper for 'gst_registry_feature_filter'
    }

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).

Parameters:

`registry` (Gst.Registry) –

registry to query

`filter` (Gst.PluginFeatureFilter) –

the filter to use

`first` (Number) –

only return first match

`user_data` (Object) –

user data passed to the filter function

Returns ([ Gst.PluginFeature ]) –

a GLib.List of Gst.PluginFeature. Use Gst.PluginFeature.prototype.list_free after usage.

MT safe.

#### Gst.Registry.feature_filter

    def Gst.Registry.feature_filter (self, filter, first, *user_data):
        #python wrapper for 'gst_registry_feature_filter'

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).

Parameters:

`registry` (Gst.Registry) –

registry to query

`filter` (Gst.PluginFeatureFilter) –

the filter to use

`first` (bool) –

only return first match

`user_data` (variadic) –

user data passed to the filter function

Returns ([ Gst.PluginFeature ]) –

a GLib.List of Gst.PluginFeature. Use Gst.PluginFeature.list_free 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.

Parameters:

`registry` –

the registry to search

`name` –

the pluginfeature name to find

`type` –

the pluginfeature type to find

Returns ( [transfer: full][nullable]) –

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.prototype.find_feature

    function Gst.Registry.prototype.find_feature(name: String, type: GObject.Type): {
        // javascript wrapper for 'gst_registry_find_feature'
    }

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

Parameters:

`registry` (Gst.Registry) –

the registry to search

`name` (String) –

the pluginfeature name to find

`type` (GObject.Type) –

the pluginfeature type to find

Returns (Gst.PluginFeature) –

the pluginfeature with the given name and type or null if the plugin was not found. Gst.Object.prototype.unref after usage.

MT safe.

#### Gst.Registry.find_feature

    def Gst.Registry.find_feature (self, name, type):
        #python wrapper for 'gst_registry_find_feature'

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

Parameters:

`registry` (Gst.Registry) –

the registry to search

`name` (str) –

the pluginfeature name to find

`type` (GObject.Type) –

the pluginfeature type to find

Returns (Gst.PluginFeature) –

the pluginfeature with the given name and type or None if the plugin was not found. Gst.Object.unref after usage.

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.

Parameters:

`registry` –

the registry to search

`name` –

the plugin name to find

Returns ( [transfer: full][nullable]) –

the plugin with the given name or NULL if the plugin was not found. gst_object_unref after usage.

MT safe.

#### Gst.Registry.prototype.find_plugin

    function Gst.Registry.prototype.find_plugin(name: String): {
        // javascript wrapper for 'gst_registry_find_plugin'
    }

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

Parameters:

`registry` (Gst.Registry) –

the registry to search

`name` (String) –

the plugin name to find

Returns (Gst.Plugin) –

the plugin with the given name or null if the plugin was not found. Gst.Object.prototype.unref after usage.

MT safe.

#### Gst.Registry.find_plugin

    def Gst.Registry.find_plugin (self, name):
        #python wrapper for 'gst_registry_find_plugin'

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

Parameters:

`registry` (Gst.Registry) –

the registry to search

`name` (str) –

the plugin name to find

Returns (Gst.Plugin) –

the plugin with the given name or None if the plugin was not found. Gst.Object.unref after usage.

MT safe.

#### gst_registry_get_feature_list

    GList *
    gst_registry_get_feature_list (GstRegistry * registry,
                                   GType type)

Retrieves a GList of GstPluginFeature of type.

Parameters:

`registry` –

a GstRegistry

`type` –

a GType.

Returns ( [transfer: full][element-type Gst.PluginFeature]) –

a GList of GstPluginFeature of type. Use gst_plugin_feature_list_free after use

MT safe.

#### Gst.Registry.prototype.get_feature_list

    function Gst.Registry.prototype.get_feature_list(type: GObject.Type): {
        // javascript wrapper for 'gst_registry_get_feature_list'
    }

Retrieves a GLib.List of Gst.PluginFeature of type.

Parameters:

`registry` (Gst.Registry) –

a Gst.Registry

`type` (GObject.Type) –

a GObject.Type.

Returns ([ Gst.PluginFeature ]) –

a GLib.List of Gst.PluginFeature of type. Use Gst.PluginFeature.prototype.list_free after use

MT safe.

#### Gst.Registry.get_feature_list

    def Gst.Registry.get_feature_list (self, type):
        #python wrapper for 'gst_registry_get_feature_list'

Retrieves a GLib.List of Gst.PluginFeature of type.

Parameters:

`registry` (Gst.Registry) –

a Gst.Registry

`type` (GObject.Type) –

a GObject.Type.

Returns ([ Gst.PluginFeature ]) –

a GLib.List of Gst.PluginFeature of type. Use Gst.PluginFeature.list_free after use

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.

Parameters:

`registry` –

a GstRegistry.

`name` –

a plugin name.

Returns ( [transfer: full][element-type Gst.PluginFeature]) –

a GList of GstPluginFeature. Use gst_plugin_feature_list_free after usage.

#### Gst.Registry.prototype.get_feature_list_by_plugin

    function Gst.Registry.prototype.get_feature_list_by_plugin(name: String): {
        // javascript wrapper for 'gst_registry_get_feature_list_by_plugin'
    }

Retrieves a GLib.List of features of the plugin with name name.

Parameters:

`registry` (Gst.Registry) –

a Gst.Registry.

`name` (String) –

a plugin name.

Returns ([ Gst.PluginFeature ]) –

a GLib.List of Gst.PluginFeature. Use Gst.PluginFeature.prototype.list_free after usage.

#### Gst.Registry.get_feature_list_by_plugin

    def Gst.Registry.get_feature_list_by_plugin (self, name):
        #python wrapper for 'gst_registry_get_feature_list_by_plugin'

Retrieves a GLib.List of features of the plugin with name name.

Parameters:

`registry` (Gst.Registry) –

a Gst.Registry.

`name` (str) –

a plugin name.

Returns ([ Gst.PluginFeature ]) –

a GLib.List of Gst.PluginFeature. Use Gst.PluginFeature.list_free after usage.

#### gst_registry_get_feature_list_cookie

    guint32
    gst_registry_get_feature_list_cookie (GstRegistry * registry)

Returns the registry's feature list cookie. This changes every time a feature is added or removed from the registry.

Parameters:

`registry` –

the registry

Returns –

the feature list cookie.

#### Gst.Registry.prototype.get_feature_list_cookie

    function Gst.Registry.prototype.get_feature_list_cookie(): {
        // javascript wrapper for 'gst_registry_get_feature_list_cookie'
    }

Returns the registry's feature list cookie. This changes every time a feature is added or removed from the registry.

Parameters:

`registry` (Gst.Registry) –

the registry

Returns (Number) –

the feature list cookie.

#### Gst.Registry.get_feature_list_cookie

    def Gst.Registry.get_feature_list_cookie (self):
        #python wrapper for 'gst_registry_get_feature_list_cookie'

Returns the registry's feature list cookie. This changes every time a feature is added or removed from the registry.

Parameters:

`registry` (Gst.Registry) –

the registry

Returns (int) –

the feature list cookie.

#### 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.

Parameters:

`registry` –

the registry to search

Returns ( [transfer: full][element-type Gst.Plugin]) –

a GList of GstPlugin. Use gst_plugin_list_free after usage.

MT safe.

#### Gst.Registry.prototype.get_plugin_list

    function Gst.Registry.prototype.get_plugin_list(): {
        // javascript wrapper for 'gst_registry_get_plugin_list'
    }

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

Parameters:

`registry` (Gst.Registry) –

the registry to search

Returns ([ Gst.Plugin ]) –

a GLib.List of Gst.Plugin. Use Gst.Plugin.prototype.list_free after usage.

MT safe.

#### Gst.Registry.get_plugin_list

    def Gst.Registry.get_plugin_list (self):
        #python wrapper for 'gst_registry_get_plugin_list'

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

Parameters:

`registry` (Gst.Registry) –

the registry to search

Returns ([ Gst.Plugin ]) –

a GLib.List of Gst.Plugin. Use Gst.Plugin.list_free after usage.

MT safe.

#### 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.

Parameters:

`registry` –

the registry to look up in

`filename` –

the name of the file to look up

Returns ( [transfer: full][nullable]) –

the GstPlugin if found, or NULL if not. gst_object_unref after usage.

#### Gst.Registry.prototype.lookup

    function Gst.Registry.prototype.lookup(filename: String): {
        // javascript wrapper for 'gst_registry_lookup'
    }

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

Parameters:

`registry` (Gst.Registry) –

the registry to look up in

`filename` (String) –

the name of the file to look up

Returns (Gst.Plugin) –

the Gst.Plugin if found, or null if not. Gst.Object.prototype.unref after usage.

#### Gst.Registry.lookup

    def Gst.Registry.lookup (self, filename):
        #python wrapper for 'gst_registry_lookup'

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

Parameters:

`registry` (Gst.Registry) –

the registry to look up in

`filename` (str) –

the name of the file to look up

Returns (Gst.Plugin) –

the Gst.Plugin if found, or None if not. Gst.Object.unref after usage.

#### gst_registry_lookup_feature

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

Find a GstPluginFeature with name in registry.

Parameters:

`registry` –

a GstRegistry

`name` –

a GstPluginFeature name

Returns ( [transfer: full][nullable]) –

a GstPluginFeature with its refcount incremented, use gst_object_unref after usage.

MT safe.

#### Gst.Registry.prototype.lookup_feature

    function Gst.Registry.prototype.lookup_feature(name: String): {
        // javascript wrapper for 'gst_registry_lookup_feature'
    }

Find a Gst.PluginFeature with name in registry.

Parameters:

`registry` (Gst.Registry) –

a Gst.Registry

`name` (String) –

a Gst.PluginFeature name

Returns (Gst.PluginFeature) –

a Gst.PluginFeature with its refcount incremented, use Gst.Object.prototype.unref after usage.

MT safe.

#### Gst.Registry.lookup_feature

    def Gst.Registry.lookup_feature (self, name):
        #python wrapper for 'gst_registry_lookup_feature'

Find a Gst.PluginFeature with name in registry.

Parameters:

`registry` (Gst.Registry) –

a Gst.Registry

`name` (str) –

a Gst.PluginFeature name

Returns (Gst.PluginFeature) –

a Gst.PluginFeature with its refcount incremented, use Gst.Object.unref after usage.

MT safe.

#### 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.

Parameters:

`registry` –

registry to query

`filter` ( [scope call][closure]) –

the filter to use

`first` –

only return first match

`user_data` –

user data passed to the filter function

Returns ( [transfer: full][element-type Gst.Plugin]) –

a GList of GstPlugin. Use gst_plugin_list_free after usage.

MT safe.

#### Gst.Registry.prototype.plugin_filter

    function Gst.Registry.prototype.plugin_filter(filter: Gst.PluginFilter, first: Number, user_data: Object): {
        // javascript wrapper for 'gst_registry_plugin_filter'
    }

Runs a filter against all plugins in the registry and returns a GLib.List 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.prototype.list_free after use, which will unref again.

Parameters:

`registry` (Gst.Registry) –

registry to query

`filter` (Gst.PluginFilter) –

the filter to use

`first` (Number) –

only return first match

`user_data` (Object) –

user data passed to the filter function

Returns ([ Gst.Plugin ]) –

a GLib.List of Gst.Plugin. Use Gst.Plugin.prototype.list_free after usage.

MT safe.

#### Gst.Registry.plugin_filter

    def Gst.Registry.plugin_filter (self, filter, first, *user_data):
        #python wrapper for 'gst_registry_plugin_filter'

Runs a filter against all plugins in the registry and returns a GLib.List 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.

Parameters:

`registry` (Gst.Registry) –

registry to query

`filter` (Gst.PluginFilter) –

the filter to use

`first` (bool) –

only return first match

`user_data` (variadic) –

user data passed to the filter function

Returns ([ Gst.Plugin ]) –

a GLib.List of Gst.Plugin. Use Gst.Plugin.list_free after usage.

MT safe.

#### gst_registry_remove_feature

    gst_registry_remove_feature (GstRegistry * registry,
                                 GstPluginFeature * feature)

Remove the feature from the registry.

MT safe.

Parameters:

`registry` –

the registry to remove the feature from

`feature` ( [transfer: none]) –

the feature to remove

#### Gst.Registry.prototype.remove_feature

    function Gst.Registry.prototype.remove_feature(feature: Gst.PluginFeature): {
        // javascript wrapper for 'gst_registry_remove_feature'
    }

Remove the feature from the registry.

MT safe.

Parameters:

`registry` (Gst.Registry) –

the registry to remove the feature from

`feature` (Gst.PluginFeature) –

the feature to remove

#### Gst.Registry.remove_feature

    def Gst.Registry.remove_feature (self, feature):
        #python wrapper for 'gst_registry_remove_feature'

Remove the feature from the registry.

MT safe.

Parameters:

`registry` (Gst.Registry) –

the registry to remove the feature from

`feature` (Gst.PluginFeature) –

the feature to remove

#### gst_registry_remove_plugin

    gst_registry_remove_plugin (GstRegistry * registry,
                                GstPlugin * plugin)

Remove the plugin from the registry.

MT safe.

Parameters:

`registry` –

the registry to remove the plugin from

`plugin` ( [transfer: none]) –

the plugin to remove

#### Gst.Registry.prototype.remove_plugin

    function Gst.Registry.prototype.remove_plugin(plugin: Gst.Plugin): {
        // javascript wrapper for 'gst_registry_remove_plugin'
    }

Remove the plugin from the registry.

MT safe.

Parameters:

`registry` (Gst.Registry) –

the registry to remove the plugin from

`plugin` (Gst.Plugin) –

the plugin to remove

#### Gst.Registry.remove_plugin

    def Gst.Registry.remove_plugin (self, plugin):
        #python wrapper for 'gst_registry_remove_plugin'

Remove the plugin from the registry.

MT safe.

Parameters:

`registry` (Gst.Registry) –

the registry to remove the plugin from

`plugin` (Gst.Plugin) –

the plugin to remove

#### gst_registry_scan_path

    gboolean
    gst_registry_scan_path (GstRegistry * registry,
                            const gchar * path)

Scan the given path for plugins to add to the registry. The syntax of the path is specific to the registry.

Parameters:

`registry` –

the registry to add found plugins to

`path` ( [type filename]) –

the path to scan

Returns –

TRUE if registry changed

#### Gst.Registry.prototype.scan_path

    function Gst.Registry.prototype.scan_path(path: filename): {
        // javascript wrapper for 'gst_registry_scan_path'
    }

Scan the given path for plugins to add to the registry. The syntax of the path is specific to the registry.

Parameters:

`registry` (Gst.Registry) –

the registry to add found plugins to

`path` (filename) –

the path to scan

Returns (Number) –

true if registry changed

#### Gst.Registry.scan_path

    def Gst.Registry.scan_path (self, path):
        #python wrapper for 'gst_registry_scan_path'

Scan the given path for plugins to add to the registry. The syntax of the path is specific to the registry.

Parameters:

`registry` (Gst.Registry) –

the registry to add found plugins to

`path` (str) –

the path to scan

Returns (bool) –

True if registry changed

### Functions

#### gst_registry_fork_is_enabled

    gboolean
    gst_registry_fork_is_enabled ()

By default GStreamer will perform scanning and rebuilding of the registry file using a helper child process.

Applications might want to disable this behaviour with the gst_registry_fork_set_enabled function, in which case new plugins are scanned (and loaded) into the application process.

Returns –

TRUE if GStreamer will use the child helper process when rebuilding the registry.

#### Gst.Registry.prototype.fork_is_enabled

    function Gst.Registry.prototype.fork_is_enabled(): {
        // javascript wrapper for 'gst_registry_fork_is_enabled'
    }

By default GStreamer will perform scanning and rebuilding of the registry file using a helper child process.

Applications might want to disable this behaviour with the Gst.Registry.prototype.fork_set_enabled function, in which case new plugins are scanned (and loaded) into the application process.

Returns (Number) –

true if GStreamer will use the child helper process when rebuilding the registry.

#### Gst.Registry.fork_is_enabled

    def Gst.Registry.fork_is_enabled ():
        #python wrapper for 'gst_registry_fork_is_enabled'

By default GStreamer will perform scanning and rebuilding of the registry file using a helper child process.

Applications might want to disable this behaviour with the Gst.Registry.fork_set_enabled function, in which case new plugins are scanned (and loaded) into the application process.

Returns (bool) –

True if GStreamer will use the child helper process when rebuilding the registry.

#### gst_registry_fork_set_enabled

    gst_registry_fork_set_enabled (gboolean enabled)

Applications might want to disable/enable spawning of a child helper process when rebuilding the registry. See gst_registry_fork_is_enabled for more information.

Parameters:

`enabled` –

whether rebuilding the registry can use a temporary child helper process.

#### Gst.Registry.prototype.fork_set_enabled

    function Gst.Registry.prototype.fork_set_enabled(enabled: Number): {
        // javascript wrapper for 'gst_registry_fork_set_enabled'
    }

Applications might want to disable/enable spawning of a child helper process when rebuilding the registry. See Gst.Registry.prototype.fork_is_enabled for more information.

Parameters:

`enabled` (Number) –

whether rebuilding the registry can use a temporary child helper process.

#### Gst.Registry.fork_set_enabled

    def Gst.Registry.fork_set_enabled (enabled):
        #python wrapper for 'gst_registry_fork_set_enabled'

Applications might want to disable/enable spawning of a child helper process when rebuilding the registry. See Gst.Registry.fork_is_enabled for more information.

Parameters:

`enabled` (bool) –

whether rebuilding the registry can use a temporary child helper process.

#### gst_registry_get

    GstRegistry *
    gst_registry_get ()

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

Returns ( [transfer: none]) –

the GstRegistry.

#### Gst.Registry.prototype.get

    function Gst.Registry.prototype.get(): {
        // javascript wrapper for 'gst_registry_get'
    }

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

Returns (Gst.Registry) –

the Gst.Registry.

#### Gst.Registry.get

    def Gst.Registry.get ():
        #python wrapper for 'gst_registry_get'

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

Returns (Gst.Registry) –

the Gst.Registry.

### Signals

#### feature-added

    feature_added_callback (GstRegistry * self,
                            GstPluginFeature * feature,
                            gpointer user_data)

Signals that a feature has been added to the registry (possibly replacing a previously-added one by the same name)

Parameters:

`self` –
No description available
`feature` –

the feature that has been added

`user_data` –
No description available

Flags: Run Last

#### feature-added

    function feature_added_callback(self: Gst.Registry, feature: Gst.PluginFeature, user_data: Object): {
        // javascript callback for the 'feature-added' signal
    }

Signals that a feature has been added to the registry (possibly replacing a previously-added one by the same name)

Parameters:

`self` (Gst.Registry) –
No description available
`feature` (Gst.PluginFeature) –

the feature that has been added

`user_data` (Object) –
No description available

Flags: Run Last

#### feature-added

    def feature_added_callback (self, feature, *user_data):
        #python callback for the 'feature-added' signal

Signals that a feature has been added to the registry (possibly replacing a previously-added one by the same name)

Parameters:

`self` (Gst.Registry) –
No description available
`feature` (Gst.PluginFeature) –

the feature that has been added

`user_data` (variadic) –
No description available

Flags: Run Last

#### plugin-added

    plugin_added_callback (GstRegistry * self,
                           GstPlugin * plugin,
                           gpointer user_data)

Signals that a plugin has been added to the registry (possibly replacing a previously-added one by the same name)

Parameters:

`self` –
No description available
`plugin` –

the plugin that has been added

`user_data` –
No description available

Flags: Run Last

#### plugin-added

    function plugin_added_callback(self: Gst.Registry, plugin: Gst.Plugin, user_data: Object): {
        // javascript callback for the 'plugin-added' signal
    }

Signals that a plugin has been added to the registry (possibly replacing a previously-added one by the same name)

Parameters:

`self` (Gst.Registry) –
No description available
`plugin` (Gst.Plugin) –

the plugin that has been added

`user_data` (Object) –
No description available

Flags: Run Last

#### plugin-added

    def plugin_added_callback (self, plugin, *user_data):
        #python callback for the 'plugin-added' signal

Signals that a plugin has been added to the registry (possibly replacing a previously-added one by the same name)

Parameters:

`self` (Gst.Registry) –
No description available
`plugin` (Gst.Plugin) –

the plugin that has been added

`user_data` (variadic) –
No description available

Flags: Run Last

## Functions

### gst_update_registry

    gboolean
    gst_update_registry ()

Forces GStreamer to re-scan its plugin paths and update the default plugin registry.

Applications will almost never need to call this function, it is only useful if the application knows new plugins have been installed (or old ones removed) since the start of the application (or, to be precise, the first call to gst_init) and the application wants to make use of any newly-installed plugins without restarting the application.

Applications should assume that the registry update is neither atomic nor thread-safe and should therefore not have any dynamic pipelines running (including the playbin and decodebin elements) and should also not create any elements or access the GStreamer registry while the update is in progress.

Note that this function may block for a significant amount of time.

Returns –

TRUE if the registry has been updated successfully (does not imply that there were changes), otherwise FALSE.

### Gst.prototype.update_registry

    function Gst.prototype.update_registry(): {
        // javascript wrapper for 'gst_update_registry'
    }

Forces GStreamer to re-scan its plugin paths and update the default plugin registry.

Applications will almost never need to call this function, it is only useful if the application knows new plugins have been installed (or old ones removed) since the start of the application (or, to be precise, the first call to Gst.prototype.init) and the application wants to make use of any newly-installed plugins without restarting the application.

Applications should assume that the registry update is neither atomic nor thread-safe and should therefore not have any dynamic pipelines running (including the playbin and decodebin elements) and should also not create any elements or access the GStreamer registry while the update is in progress.

Note that this function may block for a significant amount of time.

Returns (Number) –

true if the registry has been updated successfully (does not imply that there were changes), otherwise false.

### Gst.update_registry

    def Gst.update_registry ():
        #python wrapper for 'gst_update_registry'

Forces GStreamer to re-scan its plugin paths and update the default plugin registry.

Applications will almost never need to call this function, it is only useful if the application knows new plugins have been installed (or old ones removed) since the start of the application (or, to be precise, the first call to Gst.init) and the application wants to make use of any newly-installed plugins without restarting the application.

Applications should assume that the registry update is neither atomic nor thread-safe and should therefore not have any dynamic pipelines running (including the playbin and decodebin elements) and should also not create any elements or access the GStreamer registry while the update is in progress.

Note that this function may block for a significant amount of time.

Returns (bool) –

True if the registry has been updated successfully (does not imply that there were changes), otherwise False.

The results of the search are