Gst::Plugin Class Reference

Gst::Plugin — Container for features loaded from a shared object module. More...

#include <plugin.h>

Inheritance diagram for Gst::Plugin:

Gst::Object

List of all members.

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 () const
 Gets the Module of the plugin.
bool is_loaded () const
 queries if the plugin is loaded into memory
Glib::RefPtr<Gst::Pluginload ()
 Loads plugin.

Static Public Member Functions

static Glib::QueryQuark error_quark ()
static Glib::RefPtr<Gst::Pluginload_file (const Glib::ustring& filename)
 Loads a plugin from file.
static Glib::RefPtr<Gst::Pluginload_by_name (const Glib::ustring& name)
 Load the named plugin.
static void free (Glib::ListHandle<Glib::RefPtr<Gst::Plugin>>)
 Unrefs each member of list, then frees the list.

Related Functions

(Note that these are not member functions.)

Glib::RefPtr<Gst::Pluginwrap (GstPlugin* object, bool take_copy=false)
 A Glib::wrap() method for this object.


Detailed Description

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.


Member Typedef Documentation

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.


Constructor & Destructor Documentation

virtual Gst::Plugin::~Plugin (  )  [virtual]


Member Function Documentation

static Glib::QueryQuark Gst::Plugin::error_quark (  )  [static]

static void Gst::Plugin::free ( Glib::ListHandle<Glib::RefPtr<Gst::Plugin>>   )  [static]

Unrefs each member of list, then frees the list.

Parameters:
list List of Gst::Plugin.

Glib::ustring Gst::Plugin::get_description (  )  const

Get the long descriptive name of the plugin.

Returns:
The long name of the plugin.

Glib::ustring Gst::Plugin::get_filename (  )  const

get the filename of the plugin

Returns:
The filename of the plugin.

Glib::ustring Gst::Plugin::get_license (  )  const

get the license of the plugin

Returns:
The license of the plugin.

GModule* Gst::Plugin::get_module (  )  const

Gets the Module of the plugin.

If the plugin isn't loaded yet, 0 is returned.

Returns:
Module belonging to the plugin or 0 if the plugin isn't loaded yet.

Glib::ustring Gst::Plugin::get_name (  )  const

Get the short name of the plugin.

Returns:
The name of the plugin.

Reimplemented from Gst::Object.

Glib::ustring Gst::Plugin::get_origin (  )  const

get the URL where the plugin comes from

Returns:
The origin of the plugin.

Glib::ustring Gst::Plugin::get_package (  )  const

get the package the plugin belongs to.

Returns:
The package of the plugin.

Glib::ustring Gst::Plugin::get_source (  )  const

get the source module the plugin belongs to.

Returns:
The source of the plugin.

Glib::ustring Gst::Plugin::get_version (  )  const

get the version of the plugin

Returns:
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

Returns:
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:

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;

Returns:
A reference to a loaded plugin, or 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.

Parameters:
name Name of plugin to load.
Returns:
A reference to a loaded plugin, or 0 on error.

static Glib::RefPtr<Gst::Plugin> Gst::Plugin::load_file ( const Glib::ustring &  filename  )  [static]

Loads a plugin from file.

Exceptions:
Gst::PluginError 
Parameters:
filename The plugin filename to load.
Returns:
A reference to the existing loaded GstPlugin, a reference to the newly-loaded GstPlugin, or 0 if an error occurred.


Friends And Related Function Documentation

Glib::RefPtr<Gst::Plugin> wrap ( GstPlugin *  object,
bool  take_copy = false 
) [related]

A Glib::wrap() method for this object.

Parameters:
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.
Returns:
A C++ instance that wraps this C instance.


The documentation for this class was generated from the following file:

Generated on Thu Jan 15 09:33:13 2009 for gstreamermm by  doxygen 1.5.7.1