# GstPlugin

GStreamer is extensible, so GstElement instances can be loaded at runtime. A plugin system can provide one or more of the basic GStreamer GstPluginFeature subclasses.

A plugin should export a symbol `gst_plugin_desc` that is a struct of type GstPluginDesc. the plugin loader will check the version of the core library the plugin was linked against and will create a new GstPlugin. It will then call the GstPluginInitFunc function that was provided in the `gst_plugin_desc`.

Once you have a handle to a GstPlugin (e.g. from the GstRegistry), you can add any object that subclasses GstPluginFeature.

Usually plugins are always automatically loaded so you don't need to call gst_plugin_load explicitly to bring it into memory. There are options to statically link plugins to an app or even use GStreamer without a plugin repository in which case gst_plugin_load can be needed to bring the plugin into memory.

## GstPlugin

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstPlugin

The opaque plugin object

### Class structure

#### GstPluginClass

### Gst.PluginClass

## Gst.Plugin

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.Plugin

The opaque plugin object

## Gst.Plugin

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.Plugin

The opaque plugin object

### Methods

#### gst_plugin_add_dependency

    gst_plugin_add_dependency (GstPlugin * plugin,
                               const gchar** env_vars,
                               const gchar** paths,
                               const gchar** names,
                               GstPluginDependencyFlags flags)

Make GStreamer aware of external dependencies which affect the feature set of this plugin (ie. the elements or typefinders associated with it).

GStreamer will re-inspect plugins with external dependencies whenever any of the external dependencies change. This is useful for plugins which wrap other plugin systems, e.g. a plugin which wraps a plugin-based visualisation library and makes visualisations available as GStreamer elements, or a codec loader which exposes elements and/or caps dependent on what external codec libraries are currently installed.

Parameters:

`plugin` –

a GstPlugin

`env_vars` ( [allow-none][arrayzero-terminated=1]) –

NULL-terminated array of environment variables affecting the feature set of the plugin (e.g. an environment variable containing paths where to look for additional modules/plugins of a library), or NULL. Environment variable names may be followed by a path component which will be added to the content of the environment variable, e.g. "HOME/.mystuff/plugins".

`paths` ( [allow-none][arrayzero-terminated=1]) –

NULL-terminated array of directories/paths where dependent files may be, or NULL.

`names` ( [allow-none][arrayzero-terminated=1]) –

NULL-terminated array of file names (or file name suffixes, depending on flags) to be used in combination with the paths from paths and/or the paths extracted from the environment variables in env_vars, or NULL.

`flags` –

optional flags, or GST_PLUGIN_DEPENDENCY_FLAG_NONE

#### Gst.Plugin.prototype.add_dependency

    function Gst.Plugin.prototype.add_dependency(env_vars: [ String ], paths: [ String ], names: [ String ], flags: Gst.PluginDependencyFlags): {
        // javascript wrapper for 'gst_plugin_add_dependency'
    }

Make GStreamer aware of external dependencies which affect the feature set of this plugin (ie. the elements or typefinders associated with it).

GStreamer will re-inspect plugins with external dependencies whenever any of the external dependencies change. This is useful for plugins which wrap other plugin systems, e.g. a plugin which wraps a plugin-based visualisation library and makes visualisations available as GStreamer elements, or a codec loader which exposes elements and/or caps dependent on what external codec libraries are currently installed.

Parameters:

`plugin` (Gst.Plugin) –

a Gst.Plugin

`env_vars` ([ String ]) –

NULL-terminated array of environment variables affecting the feature set of the plugin (e.g. an environment variable containing paths where to look for additional modules/plugins of a library), or NULL. Environment variable names may be followed by a path component which will be added to the content of the environment variable, e.g. "HOME/.mystuff/plugins".

`paths` ([ String ]) –

NULL-terminated array of directories/paths where dependent files may be, or NULL.

`names` ([ String ]) –

NULL-terminated array of file names (or file name suffixes, depending on flags) to be used in combination with the paths from paths and/or the paths extracted from the environment variables in env_vars, or NULL.

`flags` (Gst.PluginDependencyFlags) –

optional flags, or Gst.PluginDependencyFlags.NONE

#### Gst.Plugin.add_dependency

    def Gst.Plugin.add_dependency (self, env_vars, paths, names, flags):
        #python wrapper for 'gst_plugin_add_dependency'

Make GStreamer aware of external dependencies which affect the feature set of this plugin (ie. the elements or typefinders associated with it).

GStreamer will re-inspect plugins with external dependencies whenever any of the external dependencies change. This is useful for plugins which wrap other plugin systems, e.g. a plugin which wraps a plugin-based visualisation library and makes visualisations available as GStreamer elements, or a codec loader which exposes elements and/or caps dependent on what external codec libraries are currently installed.

Parameters:

`plugin` (Gst.Plugin) –

a Gst.Plugin

`env_vars` ([ str ]) –

NULL-terminated array of environment variables affecting the feature set of the plugin (e.g. an environment variable containing paths where to look for additional modules/plugins of a library), or NULL. Environment variable names may be followed by a path component which will be added to the content of the environment variable, e.g. "HOME/.mystuff/plugins".

`paths` ([ str ]) –

NULL-terminated array of directories/paths where dependent files may be, or NULL.

`names` ([ str ]) –

NULL-terminated array of file names (or file name suffixes, depending on flags) to be used in combination with the paths from paths and/or the paths extracted from the environment variables in env_vars, or NULL.

`flags` (Gst.PluginDependencyFlags) –

optional flags, or Gst.PluginDependencyFlags.NONE

#### gst_plugin_add_dependency_simple

    gst_plugin_add_dependency_simple (GstPlugin * plugin,
                                      const gchar* env_vars,
                                      const gchar* paths,
                                      const gchar* names,
                                      GstPluginDependencyFlags flags)

Make GStreamer aware of external dependencies which affect the feature set of this plugin (ie. the elements or typefinders associated with it).

GStreamer will re-inspect plugins with external dependencies whenever any of the external dependencies change. This is useful for plugins which wrap other plugin systems, e.g. a plugin which wraps a plugin-based visualisation library and makes visualisations available as GStreamer elements, or a codec loader which exposes elements and/or caps dependent on what external codec libraries are currently installed.

Convenience wrapper function for gst_plugin_add_dependency which takes simple strings as arguments instead of string arrays, with multiple arguments separated by predefined delimiters (see above).

Parameters:

`plugin` –

the GstPlugin

`env_vars` ( [allow-none]) –

one or more environment variables (separated by ':', ';' or ','), or NULL. Environment variable names may be followed by a path component which will be added to the content of the environment variable, e.g. "HOME/.mystuff/plugins:MYSTUFF_PLUGINS_PATH"

`paths` ( [allow-none]) –

one ore more directory paths (separated by ':' or ';' or ','), or NULL. Example: "/usr/lib/mystuff/plugins"

`names` ( [allow-none]) –

one or more file names or file name suffixes (separated by commas), or NULL

`flags` –

optional flags, or GST_PLUGIN_DEPENDENCY_FLAG_NONE

#### Gst.Plugin.prototype.add_dependency_simple

    function Gst.Plugin.prototype.add_dependency_simple(env_vars: String, paths: String, names: String, flags: Gst.PluginDependencyFlags): {
        // javascript wrapper for 'gst_plugin_add_dependency_simple'
    }

Make GStreamer aware of external dependencies which affect the feature set of this plugin (ie. the elements or typefinders associated with it).

GStreamer will re-inspect plugins with external dependencies whenever any of the external dependencies change. This is useful for plugins which wrap other plugin systems, e.g. a plugin which wraps a plugin-based visualisation library and makes visualisations available as GStreamer elements, or a codec loader which exposes elements and/or caps dependent on what external codec libraries are currently installed.

Convenience wrapper function for Gst.Plugin.prototype.add_dependency which takes simple strings as arguments instead of string arrays, with multiple arguments separated by predefined delimiters (see above).

Parameters:

`plugin` (Gst.Plugin) –

the Gst.Plugin

`env_vars` (String) –

one or more environment variables (separated by ':', ';' or ','), or NULL. Environment variable names may be followed by a path component which will be added to the content of the environment variable, e.g. "HOME/.mystuff/plugins:MYSTUFF_PLUGINS_PATH"

`paths` (String) –

one ore more directory paths (separated by ':' or ';' or ','), or NULL. Example: "/usr/lib/mystuff/plugins"

`names` (String) –

one or more file names or file name suffixes (separated by commas), or NULL

`flags` (Gst.PluginDependencyFlags) –

optional flags, or Gst.PluginDependencyFlags.NONE

#### Gst.Plugin.add_dependency_simple

    def Gst.Plugin.add_dependency_simple (self, env_vars, paths, names, flags):
        #python wrapper for 'gst_plugin_add_dependency_simple'

Make GStreamer aware of external dependencies which affect the feature set of this plugin (ie. the elements or typefinders associated with it).

GStreamer will re-inspect plugins with external dependencies whenever any of the external dependencies change. This is useful for plugins which wrap other plugin systems, e.g. a plugin which wraps a plugin-based visualisation library and makes visualisations available as GStreamer elements, or a codec loader which exposes elements and/or caps dependent on what external codec libraries are currently installed.

Convenience wrapper function for Gst.Plugin.add_dependency which takes simple strings as arguments instead of string arrays, with multiple arguments separated by predefined delimiters (see above).

Parameters:

`plugin` (Gst.Plugin) –

the Gst.Plugin

`env_vars` (str) –

one or more environment variables (separated by ':', ';' or ','), or NULL. Environment variable names may be followed by a path component which will be added to the content of the environment variable, e.g. "HOME/.mystuff/plugins:MYSTUFF_PLUGINS_PATH"

`paths` (str) –

one ore more directory paths (separated by ':' or ';' or ','), or NULL. Example: "/usr/lib/mystuff/plugins"

`names` (str) –

one or more file names or file name suffixes (separated by commas), or NULL

`flags` (Gst.PluginDependencyFlags) –

optional flags, or Gst.PluginDependencyFlags.NONE

#### gst_plugin_add_status_error

    gst_plugin_add_status_error (GstPlugin * plugin,
                                 const gchar* message)

Parameters:

`plugin` –

a GstPlugin

`message` –

the status error message

Since : 1.24

#### Gst.Plugin.prototype.add_status_error

    function Gst.Plugin.prototype.add_status_error(message: String): {
        // javascript wrapper for 'gst_plugin_add_status_error'
    }

Parameters:

`plugin` (Gst.Plugin) –

a Gst.Plugin

`message` (String) –

the status error message

Since : 1.24

#### Gst.Plugin.add_status_error

    def Gst.Plugin.add_status_error (self, message):
        #python wrapper for 'gst_plugin_add_status_error'

Parameters:

`plugin` (Gst.Plugin) –

a Gst.Plugin

`message` (str) –

the status error message

Since : 1.24

#### gst_plugin_add_status_info

    gst_plugin_add_status_info (GstPlugin * plugin,
                                const gchar* message)

Parameters:

`plugin` –

a GstPlugin

`message` –

the status info message

Since : 1.24

#### Gst.Plugin.prototype.add_status_info

    function Gst.Plugin.prototype.add_status_info(message: String): {
        // javascript wrapper for 'gst_plugin_add_status_info'
    }

Parameters:

`plugin` (Gst.Plugin) –

a Gst.Plugin

`message` (String) –

the status info message

Since : 1.24

#### Gst.Plugin.add_status_info

    def Gst.Plugin.add_status_info (self, message):
        #python wrapper for 'gst_plugin_add_status_info'

Parameters:

`plugin` (Gst.Plugin) –

a Gst.Plugin

`message` (str) –

the status info message

Since : 1.24

#### gst_plugin_add_status_warning

    gst_plugin_add_status_warning (GstPlugin * plugin,
                                   const gchar* message)

Parameters:

`plugin` –

a GstPlugin

`message` –

the status warning message

Since : 1.24

#### Gst.Plugin.prototype.add_status_warning

    function Gst.Plugin.prototype.add_status_warning(message: String): {
        // javascript wrapper for 'gst_plugin_add_status_warning'
    }

Parameters:

`plugin` (Gst.Plugin) –

a Gst.Plugin

`message` (String) –

the status warning message

Since : 1.24

#### Gst.Plugin.add_status_warning

    def Gst.Plugin.add_status_warning (self, message):
        #python wrapper for 'gst_plugin_add_status_warning'

Parameters:

`plugin` (Gst.Plugin) –

a Gst.Plugin

`message` (str) –

the status warning message

Since : 1.24

#### gst_plugin_get_cache_data

    const GstStructure *
    gst_plugin_get_cache_data (GstPlugin * plugin)

Gets the plugin specific data cache. If it is NULL there is no cached data stored. This is the case when the registry is getting rebuilt.

Parameters:

`plugin` –

a plugin

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

The cached data as a GstStructure or NULL.

#### Gst.Plugin.prototype.get_cache_data

    function Gst.Plugin.prototype.get_cache_data(): {
        // javascript wrapper for 'gst_plugin_get_cache_data'
    }

Gets the plugin specific data cache. If it is NULL there is no cached data stored. This is the case when the registry is getting rebuilt.

Parameters:

`plugin` (Gst.Plugin) –

a plugin

Returns (Gst.Structure) –

The cached data as a Gst.Structure or NULL.

#### Gst.Plugin.get_cache_data

    def Gst.Plugin.get_cache_data (self):
        #python wrapper for 'gst_plugin_get_cache_data'

Gets the plugin specific data cache. If it is NULL there is no cached data stored. This is the case when the registry is getting rebuilt.

Parameters:

`plugin` (Gst.Plugin) –

a plugin

Returns (Gst.Structure) –

The cached data as a Gst.Structure or NULL.

#### gst_plugin_get_description

    const gchar*
    gst_plugin_get_description (GstPlugin * plugin)

Get the long descriptive name of the plugin

Parameters:

`plugin` –

plugin to get long name of

Returns –

the long name of the plugin

#### Gst.Plugin.prototype.get_description

    function Gst.Plugin.prototype.get_description(): {
        // javascript wrapper for 'gst_plugin_get_description'
    }

Get the long descriptive name of the plugin

Parameters:

`plugin` (Gst.Plugin) –

plugin to get long name of

Returns (String) –

the long name of the plugin

#### Gst.Plugin.get_description

    def Gst.Plugin.get_description (self):
        #python wrapper for 'gst_plugin_get_description'

Get the long descriptive name of the plugin

Parameters:

`plugin` (Gst.Plugin) –

plugin to get long name of

Returns (str) –

the long name of the plugin

#### gst_plugin_get_filename

    const gchar*
    gst_plugin_get_filename (GstPlugin * plugin)

get the filename of the plugin

Parameters:

`plugin` –

plugin to get the filename of

Returns ( [typefilename][nullable]) –

the filename of the plugin

#### Gst.Plugin.prototype.get_filename

    function Gst.Plugin.prototype.get_filename(): {
        // javascript wrapper for 'gst_plugin_get_filename'
    }

get the filename of the plugin

Parameters:

`plugin` (Gst.Plugin) –

plugin to get the filename of

Returns (filename) –

the filename of the plugin

#### Gst.Plugin.get_filename

    def Gst.Plugin.get_filename (self):
        #python wrapper for 'gst_plugin_get_filename'

get the filename of the plugin

Parameters:

`plugin` (Gst.Plugin) –

plugin to get the filename of

Returns (str) –

the filename of the plugin

#### gst_plugin_get_license

    const gchar*
    gst_plugin_get_license (GstPlugin * plugin)

get the license of the plugin

Parameters:

`plugin` –

plugin to get the license of

Returns –

the license of the plugin

#### Gst.Plugin.prototype.get_license

    function Gst.Plugin.prototype.get_license(): {
        // javascript wrapper for 'gst_plugin_get_license'
    }

get the license of the plugin

Parameters:

`plugin` (Gst.Plugin) –

plugin to get the license of

Returns (String) –

the license of the plugin

#### Gst.Plugin.get_license

    def Gst.Plugin.get_license (self):
        #python wrapper for 'gst_plugin_get_license'

get the license of the plugin

Parameters:

`plugin` (Gst.Plugin) –

plugin to get the license of

Returns (str) –

the license of the plugin

#### gst_plugin_get_name

    const gchar*
    gst_plugin_get_name (GstPlugin * plugin)

Get the short name of the plugin

Parameters:

`plugin` –

plugin to get the name of

Returns –

the name of the plugin

#### Gst.Plugin.prototype.get_name

    function Gst.Plugin.prototype.get_name(): {
        // javascript wrapper for 'gst_plugin_get_name'
    }

Get the short name of the plugin

Parameters:

`plugin` (Gst.Plugin) –

plugin to get the name of

Returns (String) –

the name of the plugin

#### Gst.Plugin.get_name

    def Gst.Plugin.get_name (self):
        #python wrapper for 'gst_plugin_get_name'

Get the short name of the plugin

Parameters:

`plugin` (Gst.Plugin) –

plugin to get the name of

Returns (str) –

the name of the plugin

#### gst_plugin_get_origin

    const gchar*
    gst_plugin_get_origin (GstPlugin * plugin)

get the URL where the plugin comes from

Parameters:

`plugin` –

plugin to get the origin of

Returns –

the origin of the plugin

#### Gst.Plugin.prototype.get_origin

    function Gst.Plugin.prototype.get_origin(): {
        // javascript wrapper for 'gst_plugin_get_origin'
    }

get the URL where the plugin comes from

Parameters:

`plugin` (Gst.Plugin) –

plugin to get the origin of

Returns (String) –

the origin of the plugin

#### Gst.Plugin.get_origin

    def Gst.Plugin.get_origin (self):
        #python wrapper for 'gst_plugin_get_origin'

get the URL where the plugin comes from

Parameters:

`plugin` (Gst.Plugin) –

plugin to get the origin of

Returns (str) –

the origin of the plugin

#### gst_plugin_get_package

    const gchar*
    gst_plugin_get_package (GstPlugin * plugin)

get the package the plugin belongs to.

Parameters:

`plugin` –

plugin to get the package of

Returns –

the package of the plugin

#### Gst.Plugin.prototype.get_package

    function Gst.Plugin.prototype.get_package(): {
        // javascript wrapper for 'gst_plugin_get_package'
    }

get the package the plugin belongs to.

Parameters:

`plugin` (Gst.Plugin) –

plugin to get the package of

Returns (String) –

the package of the plugin

#### Gst.Plugin.get_package

    def Gst.Plugin.get_package (self):
        #python wrapper for 'gst_plugin_get_package'

get the package the plugin belongs to.

Parameters:

`plugin` (Gst.Plugin) –

plugin to get the package of

Returns (str) –

the package of the plugin

#### gst_plugin_get_release_date_string

    const gchar*
    gst_plugin_get_release_date_string (GstPlugin * plugin)

Get the release date (and possibly time) in form of a string, if available.

For normal GStreamer plugin releases this will usually just be a date in the form of "YYYY-MM-DD", while pre-releases and builds from git may contain a time component after the date as well, in which case the string will be formatted like "YYYY-MM-DDTHH:MMZ" (e.g. "2012-04-30T09:30Z").

There may be plugins that do not have a valid release date set on them.

Parameters:

`plugin` –

plugin to get the release date of

Returns ( [nullable]) –

the date string of the plugin, or NULL if not available.

#### Gst.Plugin.prototype.get_release_date_string

    function Gst.Plugin.prototype.get_release_date_string(): {
        // javascript wrapper for 'gst_plugin_get_release_date_string'
    }

Get the release date (and possibly time) in form of a string, if available.

For normal GStreamer plugin releases this will usually just be a date in the form of "YYYY-MM-DD", while pre-releases and builds from git may contain a time component after the date as well, in which case the string will be formatted like "YYYY-MM-DDTHH:MMZ" (e.g. "2012-04-30T09:30Z").

There may be plugins that do not have a valid release date set on them.

Parameters:

`plugin` (Gst.Plugin) –

plugin to get the release date of

Returns (String) –

the date string of the plugin, or NULL if not available.

#### Gst.Plugin.get_release_date_string

    def Gst.Plugin.get_release_date_string (self):
        #python wrapper for 'gst_plugin_get_release_date_string'

Get the release date (and possibly time) in form of a string, if available.

For normal GStreamer plugin releases this will usually just be a date in the form of "YYYY-MM-DD", while pre-releases and builds from git may contain a time component after the date as well, in which case the string will be formatted like "YYYY-MM-DDTHH:MMZ" (e.g. "2012-04-30T09:30Z").

There may be plugins that do not have a valid release date set on them.

Parameters:

`plugin` (Gst.Plugin) –

plugin to get the release date of

Returns (str) –

the date string of the plugin, or NULL if not available.

#### gst_plugin_get_source

    const gchar*
    gst_plugin_get_source (GstPlugin * plugin)

get the source module the plugin belongs to.

Parameters:

`plugin` –

plugin to get the source of

Returns –

the source of the plugin

#### Gst.Plugin.prototype.get_source

    function Gst.Plugin.prototype.get_source(): {
        // javascript wrapper for 'gst_plugin_get_source'
    }

get the source module the plugin belongs to.

Parameters:

`plugin` (Gst.Plugin) –

plugin to get the source of

Returns (String) –

the source of the plugin

#### Gst.Plugin.get_source

    def Gst.Plugin.get_source (self):
        #python wrapper for 'gst_plugin_get_source'

get the source module the plugin belongs to.

Parameters:

`plugin` (Gst.Plugin) –

plugin to get the source of

Returns (str) –

the source of the plugin

#### gst_plugin_get_status_errors

    gchar**
    gst_plugin_get_status_errors (GstPlugin * plugin)

Parameters:

`plugin` –

a GstPlugin

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

an array of plugin status error messages, or NULL

Since : 1.24

#### Gst.Plugin.prototype.get_status_errors

    function Gst.Plugin.prototype.get_status_errors(): {
        // javascript wrapper for 'gst_plugin_get_status_errors'
    }

Parameters:

`plugin` (Gst.Plugin) –

a Gst.Plugin

Returns ([ String ]) –

an array of plugin status error messages, or NULL

Since : 1.24

#### Gst.Plugin.get_status_errors

    def Gst.Plugin.get_status_errors (self):
        #python wrapper for 'gst_plugin_get_status_errors'

Parameters:

`plugin` (Gst.Plugin) –

a Gst.Plugin

Returns ([ str ]) –

an array of plugin status error messages, or NULL

Since : 1.24

#### gst_plugin_get_status_infos

    gchar**
    gst_plugin_get_status_infos (GstPlugin * plugin)

Parameters:

`plugin` –

a GstPlugin

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

an array of plugin status info messages, or NULL

Since : 1.24

#### Gst.Plugin.prototype.get_status_infos

    function Gst.Plugin.prototype.get_status_infos(): {
        // javascript wrapper for 'gst_plugin_get_status_infos'
    }

Parameters:

`plugin` (Gst.Plugin) –

a Gst.Plugin

Returns ([ String ]) –

an array of plugin status info messages, or NULL

Since : 1.24

#### Gst.Plugin.get_status_infos

    def Gst.Plugin.get_status_infos (self):
        #python wrapper for 'gst_plugin_get_status_infos'

Parameters:

`plugin` (Gst.Plugin) –

a Gst.Plugin

Returns ([ str ]) –

an array of plugin status info messages, or NULL

Since : 1.24

#### gst_plugin_get_status_warnings

    gchar**
    gst_plugin_get_status_warnings (GstPlugin * plugin)

Parameters:

`plugin` –

a GstPlugin

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

an array of plugin status warning messages, or NULL

Since : 1.24

#### Gst.Plugin.prototype.get_status_warnings

    function Gst.Plugin.prototype.get_status_warnings(): {
        // javascript wrapper for 'gst_plugin_get_status_warnings'
    }

Parameters:

`plugin` (Gst.Plugin) –

a Gst.Plugin

Returns ([ String ]) –

an array of plugin status warning messages, or NULL

Since : 1.24

#### Gst.Plugin.get_status_warnings

    def Gst.Plugin.get_status_warnings (self):
        #python wrapper for 'gst_plugin_get_status_warnings'

Parameters:

`plugin` (Gst.Plugin) –

a Gst.Plugin

Returns ([ str ]) –

an array of plugin status warning messages, or NULL

Since : 1.24

#### gst_plugin_get_version

    const gchar*
    gst_plugin_get_version (GstPlugin * plugin)

get the version of the plugin

Parameters:

`plugin` –

plugin to get the version of

Returns –

the version of the plugin

#### Gst.Plugin.prototype.get_version

    function Gst.Plugin.prototype.get_version(): {
        // javascript wrapper for 'gst_plugin_get_version'
    }

get the version of the plugin

Parameters:

`plugin` (Gst.Plugin) –

plugin to get the version of

Returns (String) –

the version of the plugin

#### Gst.Plugin.get_version

    def Gst.Plugin.get_version (self):
        #python wrapper for 'gst_plugin_get_version'

get the version of the plugin

Parameters:

`plugin` (Gst.Plugin) –

plugin to get the version of

Returns (str) –

the version of the plugin

#### gst_plugin_is_loaded

    gboolean
    gst_plugin_is_loaded (GstPlugin * plugin)

queries if the plugin is loaded into memory

Parameters:

`plugin` –

plugin to query

Returns –

TRUE is loaded, FALSE otherwise

#### Gst.Plugin.prototype.is_loaded

    function Gst.Plugin.prototype.is_loaded(): {
        // javascript wrapper for 'gst_plugin_is_loaded'
    }

queries if the plugin is loaded into memory

Parameters:

`plugin` (Gst.Plugin) –

plugin to query

Returns (Number) –

TRUE is loaded, FALSE otherwise

#### Gst.Plugin.is_loaded

    def Gst.Plugin.is_loaded (self):
        #python wrapper for 'gst_plugin_is_loaded'

queries if the plugin is loaded into memory

Parameters:

`plugin` (Gst.Plugin) –

plugin to query

Returns (bool) –

TRUE is loaded, FALSE otherwise

#### gst_plugin_load

    GstPlugin *
    gst_plugin_load (GstPlugin * plugin)

Loads plugin. Note that the return value is the loaded plugin; plugin is untouched. The normal use pattern of this function goes like this:

     GstPlugin *loaded_plugin;
     loaded_plugin = gst_plugin_load (plugin);
     // presumably, we're no longer interested in the potentially-unloaded plugin
     gst_object_unref (plugin);
     plugin = loaded_plugin;

Parameters:

`plugin` ( [transfer: none]) –

plugin to load

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

a reference to a loaded plugin, or NULL on error.

#### Gst.Plugin.prototype.load

    function Gst.Plugin.prototype.load(): {
        // javascript wrapper for 'gst_plugin_load'
    }

Loads plugin. Note that the return value is the loaded plugin; plugin is untouched. The normal use pattern of this function goes like this:

     GstPlugin *loaded_plugin;
     loaded_plugin = gst_plugin_load (plugin);
     // presumably, we're no longer interested in the potentially-unloaded plugin
     gst_object_unref (plugin);
     plugin = loaded_plugin;

Parameters:

`plugin` (Gst.Plugin) –

plugin to load

Returns (Gst.Plugin) –

a reference to a loaded plugin, or NULL on error.

#### Gst.Plugin.load

    def Gst.Plugin.load (self):
        #python wrapper for 'gst_plugin_load'

Loads plugin. Note that the return value is the loaded plugin; plugin is untouched. The normal use pattern of this function goes like this:

     GstPlugin *loaded_plugin;
     loaded_plugin = gst_plugin_load (plugin);
     // presumably, we're no longer interested in the potentially-unloaded plugin
     gst_object_unref (plugin);
     plugin = loaded_plugin;

Parameters:

`plugin` (Gst.Plugin) –

plugin to load

Returns (Gst.Plugin) –

a reference to a loaded plugin, or NULL on error.

#### gst_plugin_set_cache_data

    gst_plugin_set_cache_data (GstPlugin * plugin,
                               GstStructure * cache_data)

Adds plugin specific data to cache. Passes the ownership of the structure to the plugin.

The cache is flushed every time the registry is rebuilt.

Parameters:

`plugin` –

a plugin

`cache_data` ( [transfer: full]) –

a structure containing the data to cache

#### Gst.Plugin.prototype.set_cache_data

    function Gst.Plugin.prototype.set_cache_data(cache_data: Gst.Structure): {
        // javascript wrapper for 'gst_plugin_set_cache_data'
    }

Adds plugin specific data to cache. Passes the ownership of the structure to the plugin.

The cache is flushed every time the registry is rebuilt.

Parameters:

`plugin` (Gst.Plugin) –

a plugin

`cache_data` (Gst.Structure) –

a structure containing the data to cache

#### Gst.Plugin.set_cache_data

    def Gst.Plugin.set_cache_data (self, cache_data):
        #python wrapper for 'gst_plugin_set_cache_data'

Adds plugin specific data to cache. Passes the ownership of the structure to the plugin.

The cache is flushed every time the registry is rebuilt.

Parameters:

`plugin` (Gst.Plugin) –

a plugin

`cache_data` (Gst.Structure) –

a structure containing the data to cache

### Functions

#### gst_plugin_list_free

    gst_plugin_list_free (GList * list)

Unrefs each member of list, then frees the list.

Parameters:

`list` ( [transfer: full][element-typeGst.Plugin]) –

list of GstPlugin

#### Gst.Plugin.prototype.list_free

    function Gst.Plugin.prototype.list_free(list: [ Gst.Plugin ]): {
        // javascript wrapper for 'gst_plugin_list_free'
    }

Unrefs each member of list, then frees the list.

Parameters:

`list` ([ Gst.Plugin ]) –

list of Gst.Plugin

#### Gst.Plugin.list_free

    def Gst.Plugin.list_free (list):
        #python wrapper for 'gst_plugin_list_free'

Unrefs each member of list, then frees the list.

Parameters:

`list` ([ Gst.Plugin ]) –

list of Gst.Plugin

#### gst_plugin_load_by_name

    GstPlugin *
    gst_plugin_load_by_name (const gchar* name)

Load the named plugin. Refs the plugin.

Parameters:

`name` –

name of plugin to load

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

a reference to a loaded plugin, or NULL on error.

#### Gst.Plugin.prototype.load_by_name

    function Gst.Plugin.prototype.load_by_name(name: String): {
        // javascript wrapper for 'gst_plugin_load_by_name'
    }

Load the named plugin. Refs the plugin.

Parameters:

`name` (String) –

name of plugin to load

Returns (Gst.Plugin) –

a reference to a loaded plugin, or NULL on error.

#### Gst.Plugin.load_by_name

    def Gst.Plugin.load_by_name (name):
        #python wrapper for 'gst_plugin_load_by_name'

Load the named plugin. Refs the plugin.

Parameters:

`name` (str) –

name of plugin to load

Returns (Gst.Plugin) –

a reference to a loaded plugin, or NULL on error.

#### gst_plugin_load_file

    GstPlugin *
    gst_plugin_load_file (const gchar* filename,
                          GError ** error)

Loads the given plugin and refs it. Caller needs to unref after use.

Parameters:

`filename` ( [typefilename]) –

the plugin filename to load

`error` –

pointer to a NULL-valued GError

Returns ( [transfer: full]) –

a reference to the existing loaded GstPlugin, a reference to the newly-loaded GstPlugin, or NULL if an error occurred.

#### Gst.Plugin.prototype.load_file

    function Gst.Plugin.prototype.load_file(filename: filename): {
        // javascript wrapper for 'gst_plugin_load_file'
    }

Loads the given plugin and refs it. Caller needs to unref after use.

Parameters:

`filename` (filename) –

the plugin filename to load

Returns (Gst.Plugin) –

a reference to the existing loaded GstPlugin, a reference to the newly-loaded GstPlugin, or NULL if an error occurred.

#### Gst.Plugin.load_file

    @raises(GLib.GError)
    def Gst.Plugin.load_file (filename):
        #python wrapper for 'gst_plugin_load_file'

Loads the given plugin and refs it. Caller needs to unref after use.

Parameters:

`filename` (str) –

the plugin filename to load

Returns (Gst.Plugin) –

a reference to the existing loaded GstPlugin, a reference to the newly-loaded GstPlugin, or NULL if an error occurred.

#### gst_plugin_register_static

    gboolean
    gst_plugin_register_static (gint major_version,
                                gint minor_version,
                                const gchar* name,
                                const gchar* description,
                                GstPluginInitFunc init_func,
                                const gchar* version,
                                const gchar* license,
                                const gchar* source,
                                const gchar* package,
                                const gchar* origin)

Registers a static plugin, ie. a plugin which is private to an application or library and contained within the application or library (as opposed to being shipped as a separate module file).

You must make sure that GStreamer has been initialised (with gst_init or via gst_init_get_option_group) before calling this function.

Parameters:

`major_version` –

the major version number of the GStreamer core that the plugin was compiled for, you can just use GST_VERSION_MAJOR here

`minor_version` –

the minor version number of the GStreamer core that the plugin was compiled for, you can just use GST_VERSION_MINOR here

`name` –

a unique name of the plugin (ideally prefixed with an application- or library-specific namespace prefix in order to avoid name conflicts in case a similar plugin with the same name ever gets added to GStreamer)

`description` –

description of the plugin

`init_func` ( [scope call]) –

pointer to the init function of this plugin.

`version` –

version string of the plugin

`license` –

effective license of plugin. Must be one of the approved licenses (see GstPluginDesc above) or the plugin will not be registered.

`source` –

source module plugin belongs to

`package` –

shipped package plugin belongs to

`origin` –

URL to provider of plugin

Returns –

TRUE if the plugin was registered correctly, otherwise FALSE.

#### Gst.Plugin.prototype.register_static

    function Gst.Plugin.prototype.register_static(major_version: Number, minor_version: Number, name: String, description: String, init_func: Gst.PluginInitFunc, version: String, license: String, source: String, package: String, origin: String): {
        // javascript wrapper for 'gst_plugin_register_static'
    }

Registers a static plugin, ie. a plugin which is private to an application or library and contained within the application or library (as opposed to being shipped as a separate module file).

You must make sure that GStreamer has been initialised (with Gst.prototype.init or via gst_init_get_option_group (not introspectable)) before calling this function.

Parameters:

`major_version` (Number) –

the major version number of the GStreamer core that the plugin was compiled for, you can just use GST_VERSION_MAJOR here

`minor_version` (Number) –

the minor version number of the GStreamer core that the plugin was compiled for, you can just use GST_VERSION_MINOR here

`name` (String) –

a unique name of the plugin (ideally prefixed with an application- or library-specific namespace prefix in order to avoid name conflicts in case a similar plugin with the same name ever gets added to GStreamer)

`description` (String) –

description of the plugin

`init_func` (Gst.PluginInitFunc) –

pointer to the init function of this plugin.

`version` (String) –

version string of the plugin

`license` (String) –

effective license of plugin. Must be one of the approved licenses (see Gst.PluginDesc above) or the plugin will not be registered.

`source` (String) –

source module plugin belongs to

`package` (String) –

shipped package plugin belongs to

`origin` (String) –

URL to provider of plugin

Returns (Number) –

TRUE if the plugin was registered correctly, otherwise FALSE.

#### Gst.Plugin.register_static

    def Gst.Plugin.register_static (major_version, minor_version, name, description, init_func, version, license, source, package, origin):
        #python wrapper for 'gst_plugin_register_static'

Registers a static plugin, ie. a plugin which is private to an application or library and contained within the application or library (as opposed to being shipped as a separate module file).

You must make sure that GStreamer has been initialised (with Gst.init or via gst_init_get_option_group (not introspectable)) before calling this function.

Parameters:

`major_version` (int) –

the major version number of the GStreamer core that the plugin was compiled for, you can just use GST_VERSION_MAJOR here

`minor_version` (int) –

the minor version number of the GStreamer core that the plugin was compiled for, you can just use GST_VERSION_MINOR here

`name` (str) –

a unique name of the plugin (ideally prefixed with an application- or library-specific namespace prefix in order to avoid name conflicts in case a similar plugin with the same name ever gets added to GStreamer)

`description` (str) –

description of the plugin

`init_func` (Gst.PluginInitFunc) –

pointer to the init function of this plugin.

`version` (str) –

version string of the plugin

`license` (str) –

effective license of plugin. Must be one of the approved licenses (see Gst.PluginDesc above) or the plugin will not be registered.

`source` (str) –

source module plugin belongs to

`package` (str) –

shipped package plugin belongs to

`origin` (str) –

URL to provider of plugin

Returns (bool) –

TRUE if the plugin was registered correctly, otherwise FALSE.

#### gst_plugin_register_static_full

    gboolean
    gst_plugin_register_static_full (gint major_version,
                                     gint minor_version,
                                     const gchar* name,
                                     const gchar* description,
                                     GstPluginInitFullFunc init_full_func,
                                     const gchar* version,
                                     const gchar* license,
                                     const gchar* source,
                                     const gchar* package,
                                     const gchar* origin,
                                     gpointer user_data)

Registers a static plugin, ie. a plugin which is private to an application or library and contained within the application or library (as opposed to being shipped as a separate module file) with a GstPluginInitFullFunc which allows user data to be passed to the callback function (useful for bindings).

You must make sure that GStreamer has been initialised (with gst_init or via gst_init_get_option_group) before calling this function.

Parameters:

`major_version` –

the major version number of the GStreamer core that the plugin was compiled for, you can just use GST_VERSION_MAJOR here

`minor_version` –

the minor version number of the GStreamer core that the plugin was compiled for, you can just use GST_VERSION_MINOR here

`name` –

a unique name of the plugin (ideally prefixed with an application- or library-specific namespace prefix in order to avoid name conflicts in case a similar plugin with the same name ever gets added to GStreamer)

`description` –

description of the plugin

`init_full_func` ( [scope call]) –

pointer to the init function with user data of this plugin.

`version` –

version string of the plugin

`license` –

effective license of plugin. Must be one of the approved licenses (see GstPluginDesc above) or the plugin will not be registered.

`source` –

source module plugin belongs to

`package` –

shipped package plugin belongs to

`origin` –

URL to provider of plugin

`user_data` –

gpointer to user data

Returns –

TRUE if the plugin was registered correctly, otherwise FALSE.

#### Gst.Plugin.prototype.register_static_full

    function Gst.Plugin.prototype.register_static_full(major_version: Number, minor_version: Number, name: String, description: String, init_full_func: Gst.PluginInitFullFunc, version: String, license: String, source: String, package: String, origin: String, user_data: Object): {
        // javascript wrapper for 'gst_plugin_register_static_full'
    }

Registers a static plugin, ie. a plugin which is private to an application or library and contained within the application or library (as opposed to being shipped as a separate module file) with a Gst.PluginInitFullFunc which allows user data to be passed to the callback function (useful for bindings).

You must make sure that GStreamer has been initialised (with Gst.prototype.init or via gst_init_get_option_group (not introspectable)) before calling this function.

Parameters:

`major_version` (Number) –

the major version number of the GStreamer core that the plugin was compiled for, you can just use GST_VERSION_MAJOR here

`minor_version` (Number) –

the minor version number of the GStreamer core that the plugin was compiled for, you can just use GST_VERSION_MINOR here

`name` (String) –

a unique name of the plugin (ideally prefixed with an application- or library-specific namespace prefix in order to avoid name conflicts in case a similar plugin with the same name ever gets added to GStreamer)

`description` (String) –

description of the plugin

`init_full_func` (Gst.PluginInitFullFunc) –

pointer to the init function with user data of this plugin.

`version` (String) –

version string of the plugin

`license` (String) –

effective license of plugin. Must be one of the approved licenses (see Gst.PluginDesc above) or the plugin will not be registered.

`source` (String) –

source module plugin belongs to

`package` (String) –

shipped package plugin belongs to

`origin` (String) –

URL to provider of plugin

`user_data` (Object) –

gpointer to user data

Returns (Number) –

TRUE if the plugin was registered correctly, otherwise FALSE.

#### Gst.Plugin.register_static_full

    def Gst.Plugin.register_static_full (major_version, minor_version, name, description, init_full_func, version, license, source, package, origin, *user_data):
        #python wrapper for 'gst_plugin_register_static_full'

Registers a static plugin, ie. a plugin which is private to an application or library and contained within the application or library (as opposed to being shipped as a separate module file) with a Gst.PluginInitFullFunc which allows user data to be passed to the callback function (useful for bindings).

You must make sure that GStreamer has been initialised (with Gst.init or via gst_init_get_option_group (not introspectable)) before calling this function.

Parameters:

`major_version` (int) –

the major version number of the GStreamer core that the plugin was compiled for, you can just use GST_VERSION_MAJOR here

`minor_version` (int) –

the minor version number of the GStreamer core that the plugin was compiled for, you can just use GST_VERSION_MINOR here

`name` (str) –

a unique name of the plugin (ideally prefixed with an application- or library-specific namespace prefix in order to avoid name conflicts in case a similar plugin with the same name ever gets added to GStreamer)

`description` (str) –

description of the plugin

`init_full_func` (Gst.PluginInitFullFunc) –

pointer to the init function with user data of this plugin.

`version` (str) –

version string of the plugin

`license` (str) –

effective license of plugin. Must be one of the approved licenses (see Gst.PluginDesc above) or the plugin will not be registered.

`source` (str) –

source module plugin belongs to

`package` (str) –

shipped package plugin belongs to

`origin` (str) –

URL to provider of plugin

`user_data` (variadic) –

gpointer to user data

Returns (bool) –

TRUE if the plugin was registered correctly, otherwise FALSE.

## GstPluginDesc

A plugin should export a variable of this type called plugin_desc. The plugin loader will use the data provided there to initialize the plugin.

The licence parameter must be one of: LGPL, GPL, QPL, GPL/QPL, MPL, BSD, MIT/X11, Proprietary, unknown.

### Members

`major_version` (gint) –

the major version number of core that plugin was compiled for

`minor_version` (gint) –

the minor version number of core that plugin was compiled for

`name` (const gchar*) –

a unique name of the plugin

`description` (const gchar*) –

description of plugin

`plugin_init` (GstPluginInitFunc) –

pointer to the init function of this plugin.

`version` (const gchar*) –

version of the plugin

`license` (const gchar*) –

effective license of plugin

`source` (const gchar*) –

source module plugin belongs to

`package` (const gchar*) –

shipped package plugin belongs to

`origin` (const gchar*) –

URL to provider of plugin

`release_datetime` (const gchar*) –

date time string in ISO 8601 format (or rather, a subset thereof), or NULL. Allowed are the following formats: "YYYY-MM-DD" and "YYY-MM-DDTHH:MMZ" (with 'T' a separator and 'Z' indicating UTC/Zulu time). This field should be set via the GST_PACKAGE_RELEASE_DATETIME preprocessor macro.

## Gst.PluginDesc

A plugin should export a variable of this type called plugin_desc. The plugin loader will use the data provided there to initialize the plugin.

The licence parameter must be one of: LGPL, GPL, QPL, GPL/QPL, MPL, BSD, MIT/X11, Proprietary, unknown.

### Members

`major_version` (Number) –

the major version number of core that plugin was compiled for

`minor_version` (Number) –

the minor version number of core that plugin was compiled for

`name` (String) –

a unique name of the plugin

`description` (String) –

description of plugin

`plugin_init` (Gst.PluginInitFunc) –

pointer to the init function of this plugin.

`version` (String) –

version of the plugin

`license` (String) –

effective license of plugin

`source` (String) –

source module plugin belongs to

`package` (String) –

shipped package plugin belongs to

`origin` (String) –

URL to provider of plugin

`release_datetime` (String) –

date time string in ISO 8601 format (or rather, a subset thereof), or NULL. Allowed are the following formats: "YYYY-MM-DD" and "YYY-MM-DDTHH:MMZ" (with 'T' a separator and 'Z' indicating UTC/Zulu time). This field should be set via the GST_PACKAGE_RELEASE_DATETIME preprocessor macro.

## Gst.PluginDesc

A plugin should export a variable of this type called plugin_desc. The plugin loader will use the data provided there to initialize the plugin.

The licence parameter must be one of: LGPL, GPL, QPL, GPL/QPL, MPL, BSD, MIT/X11, Proprietary, unknown.

### Members

`major_version` (int) –

the major version number of core that plugin was compiled for

`minor_version` (int) –

the minor version number of core that plugin was compiled for

`name` (str) –

a unique name of the plugin

`description` (str) –

description of plugin

`plugin_init` (Gst.PluginInitFunc) –

pointer to the init function of this plugin.

`version` (str) –

version of the plugin

`license` (str) –

effective license of plugin

`source` (str) –

source module plugin belongs to

`package` (str) –

shipped package plugin belongs to

`origin` (str) –

URL to provider of plugin

`release_datetime` (str) –

date time string in ISO 8601 format (or rather, a subset thereof), or NULL. Allowed are the following formats: "YYYY-MM-DD" and "YYY-MM-DDTHH:MMZ" (with 'T' a separator and 'Z' indicating UTC/Zulu time). This field should be set via the GST_PACKAGE_RELEASE_DATETIME preprocessor macro.

## Functions

### gst_plugin_error_quark

    GQuark
    gst_plugin_error_quark ()

Get the error quark.

Returns –

The error quark used in GError messages

### Gst.prototype.plugin_error_quark

    function Gst.prototype.plugin_error_quark(): {
        // javascript wrapper for 'gst_plugin_error_quark'
    }

Get the error quark.

Returns (GLib.Quark) –

The error quark used in GError messages

### Gst.plugin_error_quark

    def Gst.plugin_error_quark ():
        #python wrapper for 'gst_plugin_error_quark'

Get the error quark.

Returns (GLib.Quark) –

The error quark used in GError messages

## Function Macros

### GST_PLUGIN_CAST

    #define GST_PLUGIN_CAST(obj)           ((GstPlugin*)(obj))

### GST_PLUGIN_DEFINE

    #define GST_PLUGIN_DEFINE(major,minor,name,description,init,version,license,package,origin) \
    G_BEGIN_DECLS \
    GST_PLUGIN_EXPORT const GstPluginDesc * G_PASTE(gst_plugin_, G_PASTE(name, _get_desc)) (void); \
    GST_PLUGIN_EXPORT void G_PASTE(gst_plugin_, G_PASTE(name, _register)) (void); \
    \
    static const GstPluginDesc gst_plugin_desc = { \
      major, \
      minor, \
      G_STRINGIFY(name), \
      (gchar *) description, \
      init, \
      version, \
      license, \
      PACKAGE, \
      package, \
      origin, \
      __GST_PACKAGE_RELEASE_DATETIME, \
      GST_PADDING_INIT \
    };                                       \
    \
    const GstPluginDesc * \
    G_PASTE(gst_plugin_, G_PASTE(name, _get_desc)) (void) \
    { \
        return &gst_plugin_desc; \
    } \
    \
    void \
    G_PASTE(gst_plugin_, G_PASTE(name, _register)) (void) \
    { \
      gst_plugin_register_static (major, minor, G_STRINGIFY(name), \
          description, init, version, license, \
          PACKAGE, package, origin); \
    } \
    G_END_DECLS

This macro needs to be used to define the entry point and meta data of a plugin. One would use this macro to export a plugin, so that it can be used by other applications.

The macro uses a define named PACKAGE for the GstPluginDesc,source field. When using autoconf, this is usually set automatically via the AC_INIT macro, and set in config.h. If you are not using autoconf, you will need to define PACKAGE yourself and set it to a short mnemonic string identifying your application/package, e.g. 'someapp' or 'my-plugins-foo.

If defined, the GST_PACKAGE_RELEASE_DATETIME will also be used for the GstPluginDesc,release_datetime field.

Parameters:

`major` –

major version number of the gstreamer-core that plugin was compiled for

`minor` –

minor version number of the gstreamer-core that plugin was compiled for

`name` –

short, but unique name of the plugin

`description` –

information about the purpose of the plugin

`init` –

function pointer to the plugin_init method with the signature of `static gboolean plugin_init (GstPlugin * plugin)`.

`version` –

full version string (e.g. VERSION from config.h)

`license` –

under which licence the package has been released, e.g. GPL, LGPL.

`package` –

the package-name (e.g. PACKAGE_NAME from config.h)

`origin` –

a description from where the package comes from (e.g. the homepage URL)

### GST_PLUGIN_STATIC_DECLARE

    #define GST_PLUGIN_STATIC_DECLARE(name) \
      extern void G_PASTE(gst_plugin_, G_PASTE(name, _register)) (void)

This macro can be used to initialize statically linked plugins. It is necessary to call this macro before the plugin can be used. It has to be used in combination with GST_PLUGIN_STATIC_REGISTER and must be placed outside any block to declare the plugin initialization function.

Parameters:

`name` –

short, but unique name of the plugin

Since : 1.2

### GST_PLUGIN_STATIC_REGISTER

    #define GST_PLUGIN_STATIC_REGISTER(name) G_PASTE(gst_plugin_, G_PASTE(name, _register)) ()

This macro can be used to initialize statically linked plugins. It is necessary to call this macro before the plugin can be used. It has to be used in combination with GST_PLUGIN_STATIC_DECLARE and calls the plugin initialization function.

Parameters:

`name` –

short, but unique name of the plugin

Since : 1.2

## Enumerations

### GstPluginDependencyFlags

Flags used in connection with gst_plugin_add_dependency.

##### Members

`GST_PLUGIN_DEPENDENCY_FLAG_NONE` (0) –

no special flags

`GST_PLUGIN_DEPENDENCY_FLAG_RECURSE` (1) –

recurse into subdirectories

`GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY` (2) –

use paths argument only if none of the environment variables is set

`GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX` (4) –

interpret filename argument as filter suffix and check all matching files in the directory

`GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_PREFIX` (8) –

interpret filename argument as filter prefix and check all matching files in the directory. Since: 1.8.

`GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_RELATIVE_TO_EXE` (16) –

interpret non-absolute paths as relative to the main executable directory. Since 1.14.

### Gst.PluginDependencyFlags

Flags used in connection with Gst.Plugin.prototype.add_dependency.

##### Members

`Gst.PluginDependencyFlags.NONE` (0) –

no special flags

`Gst.PluginDependencyFlags.RECURSE` (1) –

recurse into subdirectories

`Gst.PluginDependencyFlags.PATHS_ARE_DEFAULT_ONLY` (2) –

use paths argument only if none of the environment variables is set

`Gst.PluginDependencyFlags.FILE_NAME_IS_SUFFIX` (4) –

interpret filename argument as filter suffix and check all matching files in the directory

`Gst.PluginDependencyFlags.FILE_NAME_IS_PREFIX` (8) –

interpret filename argument as filter prefix and check all matching files in the directory. Since: 1.8.

`Gst.PluginDependencyFlags.PATHS_ARE_RELATIVE_TO_EXE` (16) –

interpret non-absolute paths as relative to the main executable directory. Since 1.14.

### Gst.PluginDependencyFlags

Flags used in connection with Gst.Plugin.add_dependency.

##### Members

`Gst.PluginDependencyFlags.NONE` (0) –

no special flags

`Gst.PluginDependencyFlags.RECURSE` (1) –

recurse into subdirectories

`Gst.PluginDependencyFlags.PATHS_ARE_DEFAULT_ONLY` (2) –

use paths argument only if none of the environment variables is set

`Gst.PluginDependencyFlags.FILE_NAME_IS_SUFFIX` (4) –

interpret filename argument as filter suffix and check all matching files in the directory

`Gst.PluginDependencyFlags.FILE_NAME_IS_PREFIX` (8) –

interpret filename argument as filter prefix and check all matching files in the directory. Since: 1.8.

`Gst.PluginDependencyFlags.PATHS_ARE_RELATIVE_TO_EXE` (16) –

interpret non-absolute paths as relative to the main executable directory. Since 1.14.

### GstPluginError

The plugin loading errors

##### Members

`GST_PLUGIN_ERROR_MODULE` (0) –

The plugin could not be loaded

`GST_PLUGIN_ERROR_DEPENDENCIES` (1) –

The plugin has unresolved dependencies

`GST_PLUGIN_ERROR_NAME_MISMATCH` (2) –

The plugin has already be loaded from a different file

### Gst.PluginError

The plugin loading errors

##### Members

`Gst.PluginError.MODULE` (0) –

The plugin could not be loaded

`Gst.PluginError.DEPENDENCIES` (1) –

The plugin has unresolved dependencies

`Gst.PluginError.NAME_MISMATCH` (2) –

The plugin has already be loaded from a different file

### Gst.PluginError

The plugin loading errors

##### Members

`Gst.PluginError.MODULE` (0) –

The plugin could not be loaded

`Gst.PluginError.DEPENDENCIES` (1) –

The plugin has unresolved dependencies

`Gst.PluginError.NAME_MISMATCH` (2) –

The plugin has already be loaded from a different file

### GstPluginFlags

The plugin loading state

##### Members

`GST_PLUGIN_FLAG_CACHED` (16) –

Temporarily loaded plugins

`GST_PLUGIN_FLAG_BLACKLISTED` (32) –

The plugin won't be scanned (again)

### Gst.PluginFlags

The plugin loading state

##### Members

`Gst.PluginFlags.CACHED` (16) –

Temporarily loaded plugins

`Gst.PluginFlags.BLACKLISTED` (32) –

The plugin won't be scanned (again)

### Gst.PluginFlags

The plugin loading state

##### Members

`Gst.PluginFlags.CACHED` (16) –

Temporarily loaded plugins

`Gst.PluginFlags.BLACKLISTED` (32) –

The plugin won't be scanned (again)

## Constants

### GST_LICENSE_UNKNOWN

    #define GST_LICENSE_UNKNOWN "unknown"

To be used in GST_PLUGIN_DEFINE if unsure about the licence.

### Gst.LICENSE_UNKNOWN

To be used in GST_PLUGIN_DEFINE if unsure about the licence.

### Gst.LICENSE_UNKNOWN

To be used in GST_PLUGIN_DEFINE if unsure about the licence.

### GST_PLUGIN_ERROR

    #define GST_PLUGIN_ERROR gst_plugin_error_quark ()

The error message category quark

### __GST_PACKAGE_RELEASE_DATETIME

    #define __GST_PACKAGE_RELEASE_DATETIME GST_PACKAGE_RELEASE_DATETIME

## Callbacks

### GstPluginFilter

    gboolean
    (*GstPluginFilter) (GstPlugin * plugin,
                        gpointer user_data)

A function that can be used with e.g. gst_registry_plugin_filter to get a list of plugins that match certain criteria.

Parameters:

`plugin` –

the plugin to check

`user_data` –

the user_data that has been passed on e.g. gst_registry_plugin_filter

Returns –

TRUE for a positive match, FALSE otherwise

### Gst.PluginFilter

    function Gst.PluginFilter(plugin: Gst.Plugin, user_data: Object): {
        // javascript wrapper for 'GstPluginFilter'
    }

A function that can be used with e.g. Gst.Registry.prototype.plugin_filter to get a list of plugins that match certain criteria.

Parameters:

`plugin` (Gst.Plugin) –

the plugin to check

`user_data` (Object) –

the user_data that has been passed on e.g. Gst.Registry.prototype.plugin_filter

Returns (Number) –

TRUE for a positive match, FALSE otherwise

### Gst.PluginFilter

    def Gst.PluginFilter (plugin, *user_data):
        #python wrapper for 'GstPluginFilter'

A function that can be used with e.g. Gst.Registry.plugin_filter to get a list of plugins that match certain criteria.

Parameters:

`plugin` (Gst.Plugin) –

the plugin to check

`user_data` (variadic) –

the user_data that has been passed on e.g. Gst.Registry.plugin_filter

Returns (bool) –

TRUE for a positive match, FALSE otherwise

### GstPluginInitFullFunc

    gboolean
    (*GstPluginInitFullFunc) (GstPlugin * plugin,
                              gpointer user_data)

A plugin should provide a pointer to a function of either GstPluginInitFunc or this type in the plugin_desc struct. The function will be called by the loader at startup. One would then register each GstPluginFeature. This version allows user data to be passed to init function (useful for bindings).

Parameters:

`plugin` –

The plugin object

`user_data` –

extra data

Returns –

TRUE if plugin initialised successfully

### Gst.PluginInitFullFunc

    function Gst.PluginInitFullFunc(plugin: Gst.Plugin, user_data: Object): {
        // javascript wrapper for 'GstPluginInitFullFunc'
    }

A plugin should provide a pointer to a function of either Gst.PluginInitFunc or this type in the plugin_desc struct. The function will be called by the loader at startup. One would then register each Gst.PluginFeature. This version allows user data to be passed to init function (useful for bindings).

Parameters:

`plugin` (Gst.Plugin) –

The plugin object

`user_data` (Object) –

extra data

Returns (Number) –

TRUE if plugin initialised successfully

### Gst.PluginInitFullFunc

    def Gst.PluginInitFullFunc (plugin, *user_data):
        #python wrapper for 'GstPluginInitFullFunc'

A plugin should provide a pointer to a function of either Gst.PluginInitFunc or this type in the plugin_desc struct. The function will be called by the loader at startup. One would then register each Gst.PluginFeature. This version allows user data to be passed to init function (useful for bindings).

Parameters:

`plugin` (Gst.Plugin) –

The plugin object

`user_data` (variadic) –

extra data

Returns (bool) –

TRUE if plugin initialised successfully

### GstPluginInitFunc

    gboolean
    (*GstPluginInitFunc) (GstPlugin * plugin)

A plugin should provide a pointer to a function of this type in the plugin_desc struct. This function will be called by the loader at startup. One would then register each GstPluginFeature.

Parameters:

`plugin` –

The plugin object

Returns –

TRUE if plugin initialised successfully

### Gst.PluginInitFunc

    function Gst.PluginInitFunc(plugin: Gst.Plugin): {
        // javascript wrapper for 'GstPluginInitFunc'
    }

A plugin should provide a pointer to a function of this type in the plugin_desc struct. This function will be called by the loader at startup. One would then register each Gst.PluginFeature.

Parameters:

`plugin` (Gst.Plugin) –

The plugin object

Returns (Number) –

TRUE if plugin initialised successfully

### Gst.PluginInitFunc

    def Gst.PluginInitFunc (plugin):
        #python wrapper for 'GstPluginInitFunc'

A plugin should provide a pointer to a function of this type in the plugin_desc struct. This function will be called by the loader at startup. One would then register each Gst.PluginFeature.

Parameters:

`plugin` (Gst.Plugin) –

The plugin object

Returns (bool) –

TRUE if plugin initialised successfully

The results of the search are