Gst::Plugin - Container for features loaded from a shared object module. More...
#include <plugin.h>
Public Types | |
| typedef sigc::slot< bool, const Glib::RefPtr <Gst::Plugin >&> | SlotInit |
| For example, bool on_plugin_init(const Glib::RefPtr<Gst::Plugin>& plugin);. | |
| typedef sigc::slot< bool, const Glib::RefPtr <Gst::Plugin >&> | SlotFilter |
| For example, bool on_plugin_filter(const Glib::RefPtr<Gst::Plugin>& plugin);. | |
Public Member Functions | |
| virtual | ~Plugin () |
| GstPlugin* | gobj () |
| Provides access to the underlying C GObject. | |
| const GstPlugin* | gobj () const |
| Provides access to the underlying C GObject. | |
| GstPlugin* | gobj_copy () |
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. | |
| Glib::ustring | get_name () const |
| Get the short name of the plugin. | |
| Glib::ustring | get_description () const |
| Get the long descriptive name of the plugin. | |
| Glib::ustring | get_filename () const |
| get the filename of the plugin | |
| Glib::ustring | get_license () const |
| get the license of the plugin | |
| Glib::ustring | get_package () const |
| get the package the plugin belongs to. | |
| Glib::ustring | get_origin () const |
| get the URL where the plugin comes from | |
| Glib::ustring | get_source () const |
| get the source module the plugin belongs to. | |
| Glib::ustring | get_version () const |
| get the version of the plugin | |
| GModule* | get_module () |
| Gets the Module of the plugin. | |
| const GModule* | get_module () const |
| Gets the Module of the plugin. | |
| bool | is_loaded () const |
| queries if the plugin is loaded into memory | |
| const Gst::Structure | get_cache_data () const |
| Gets the plugin specific data cache. | |
| void | set_cache_data (Gst::Structure& cache_data) |
| Adds plugin specific data to cache. | |
| Glib::RefPtr<Gst::Plugin> | load () |
| Loads plugin. | |
| bool | register_static (int major_version, int minor_version, const Glib::ustring& name, const Glib::ustring& description, const SlotInit& init_slot, const Glib::ustring& version, const Glib::ustring& license, const Glib::ustring& source, const Glib::ustring& package, const Glib::ustring& origin) |
| void | add_dependency (const Glib::StringArrayHandle& env_vars, const Glib::StringArrayHandle& paths, const Glib::StringArrayHandle& names, Gst::PluginDependencyFlags flags) |
| Make GStreamer aware of external dependencies which affect the feature set of this plugin (ie. | |
| void | add_dependency (const Glib::ustring& env_vars, const Glib::ustring& paths, const Glib::ustring& names, Gst::PluginDependencyFlags flags) |
| Make GStreamer aware of external dependencies which affect the feature set of this plugin (ie. | |
Static Public Member Functions | |
| static Glib::QueryQuark | error_quark () |
| static Glib::RefPtr<Gst::Plugin> | load_file (const Glib::ustring& filename) |
| Loads a plugin from file. | |
| static Glib::RefPtr<Gst::Plugin> | load_by_name (const Glib::ustring& name) |
| Load the named plugin. | |
Related Functions | |
(Note that these are not member functions.) | |
| Glib::RefPtr<Gst::Plugin> | wrap (GstPlugin* object, bool take_copy=false) |
| A Glib::wrap() method for this object. | |
Gst::Plugin - Container for features loaded from a shared object module.
GStreamer is extensible, so Gst::Element instances can be loaded at runtime. A plugin system can provide one or more of the basic GStreamer Gst::PluginFeature subclasses.
TODO: Edit following paragraph to use gstreamermm classes/methods:
A plugin should export a symbol gst_plugin_desc that is a struct of type PluginDesc. the plugin loader will check the version of the core library the plugin was linked against and will create a new Gst::Plugin. It will then call the PluginInitFunc function that was provided in the gst_plugin_desc.
Once you have a handle to a Gst::Plugin (e.g. from the RegistryPool), you can add any object that subclasses Gst::PluginFeature.
Usually plugins are always automaticlly 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 load() can be needed to bring the plugin into memory.
| typedef sigc::slot<bool, const Glib::RefPtr<Gst::Plugin>&> Gst::Plugin::SlotFilter |
For example, bool on_plugin_filter(const Glib::RefPtr<Gst::Plugin>& plugin);.
The filter function should return true if plugin is a match, false otherwise.
| typedef sigc::slot<bool, const Glib::RefPtr<Gst::Plugin>&> Gst::Plugin::SlotInit |
For example, bool on_plugin_init(const Glib::RefPtr<Gst::Plugin>& plugin);.
The init function should return true if plugin was initialized successfully, false otherwise.
| virtual Gst::Plugin::~Plugin | ( | ) | [virtual] |
| void Gst::Plugin::add_dependency | ( | const Glib::ustring & | env_vars, | |
| const Glib::ustring & | paths, | |||
| const Glib::ustring & | names, | |||
| Gst::PluginDependencyFlags | 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 add_dependency() which takes simple strings as arguments instead of string arrays, with multiple arguments separated by predefined delimiters (see above).
{0,10}.22
| env_vars | One or more environent variables (separated by ':', ';' or ','), or 0. 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 | One ore more directory paths (separated by ':' or ';' or ','), or 0. Example: "/usr/lib/mystuff/plugins". | |
| names | One or more file names or file name suffixes (separated by commas), or 0. | |
| flags | Optional flags, or Gst::PLUGIN_DEPENDENCY_FLAG_NONE. |
| void Gst::Plugin::add_dependency | ( | const Glib::StringArrayHandle & | env_vars, | |
| const Glib::StringArrayHandle & | paths, | |||
| const Glib::StringArrayHandle & | names, | |||
| Gst::PluginDependencyFlags | 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.
{0,10}.22
| env_vars | 0-terminated array of environent 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 0. 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 | 0-terminated array of directories/paths where dependent files may be. | |
| names | 0-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 0. | |
| flags | Optional flags, or Gst::PLUGIN_DEPENDENCY_FLAG_NONE. |
| static Glib::QueryQuark Gst::Plugin::error_quark | ( | ) | [static] |
| const Gst::Structure Gst::Plugin::get_cache_data | ( | ) | const |
Gets the plugin specific data cache.
If it is 0 there is no cached data stored. This is the case when the registry is getting rebuild.
0.{0,10}.24.
| Glib::ustring Gst::Plugin::get_description | ( | ) | const |
Get the long descriptive name of the plugin.
| Glib::ustring Gst::Plugin::get_filename | ( | ) | const |
get the filename of the plugin
| Glib::ustring Gst::Plugin::get_license | ( | ) | const |
get the license of the plugin
| const GModule* Gst::Plugin::get_module | ( | ) | const |
Gets the Module of the plugin.
If the plugin isn't loaded yet, 0 is returned.
0 if the plugin isn't loaded yet. | GModule* Gst::Plugin::get_module | ( | ) |
Gets the Module of the plugin.
If the plugin isn't loaded yet, 0 is returned.
0 if the plugin isn't loaded yet. | Glib::ustring Gst::Plugin::get_name | ( | ) | const |
| Glib::ustring Gst::Plugin::get_origin | ( | ) | const |
get the URL where the plugin comes from
| Glib::ustring Gst::Plugin::get_package | ( | ) | const |
get the package the plugin belongs to.
| Glib::ustring Gst::Plugin::get_source | ( | ) | const |
get the source module the plugin belongs to.
| Glib::ustring Gst::Plugin::get_version | ( | ) | const |
get the version of the plugin
| const GstPlugin* Gst::Plugin::gobj | ( | ) | const [inline] |
Provides access to the underlying C GObject.
Reimplemented from Gst::Object.
| GstPlugin* Gst::Plugin::gobj | ( | ) | [inline] |
Provides access to the underlying C GObject.
Reimplemented from Gst::Object.
| GstPlugin* Gst::Plugin::gobj_copy | ( | ) |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
Reimplemented from Gst::Object.
| bool Gst::Plugin::is_loaded | ( | ) | const |
queries if the plugin is loaded into memory
true is loaded, false otherwise. | Glib::RefPtr<Gst::Plugin> 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:
<programlisting> 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; </programlisting>
0 on error. | static Glib::RefPtr<Gst::Plugin> Gst::Plugin::load_by_name | ( | const Glib::ustring & | name | ) | [static] |
Load the named plugin.
Refs the plugin.
| name | Name of plugin to load. |
0 on error. | static Glib::RefPtr<Gst::Plugin> Gst::Plugin::load_file | ( | const Glib::ustring & | filename | ) | [static] |
Loads a plugin from file.
| Gst::PluginError. |
| filename | The plugin filename to load. |
0 if an error occurred. | bool Gst::Plugin::register_static | ( | int | major_version, | |
| int | minor_version, | |||
| const Glib::ustring & | name, | |||
| const Glib::ustring & | description, | |||
| const SlotInit& | init_slot, | |||
| const Glib::ustring & | version, | |||
| const Glib::ustring & | license, | |||
| const Glib::ustring & | source, | |||
| const Glib::ustring & | package, | |||
| const Glib::ustring & | origin | |||
| ) |
| void Gst::Plugin::set_cache_data | ( | Gst::Structure& | 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 rebuild.
{0,10}.24
| cache_data | A structure containing the data to cache. |
| Glib::RefPtr<Gst::Plugin> wrap | ( | GstPlugin * | object, | |
| bool | take_copy = false | |||
| ) | [related] |
A Glib::wrap() method for this object.
| object | The C instance. | |
| take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref. |
1.6.1