gstreamermm
1.10.0
|
Create Gst::Element 's from a factory. More...
#include <gstreamermm/elementfactory.h>
Public Member Functions | |
ElementFactory (ElementFactory&& src) noexcept | |
ElementFactory& | operator= (ElementFactory&& src) noexcept |
~ElementFactory () noexcept override | |
GstElementFactory* | gobj () |
Provides access to the underlying C GObject. More... | |
const GstElementFactory* | gobj () const |
Provides access to the underlying C GObject. More... | |
GstElementFactory* | gobj_copy () |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More... | |
Glib::RefPtr< Gst::Element > | create (const Glib::ustring& name) |
Create a new element of the type defined by the given elementfactory. More... | |
Glib::RefPtr< Gst::Element > | create () |
A create() convenience overload. More... | |
bool | can_sink_all_caps (const Glib::RefPtr< const Gst::Caps >& caps) const |
Checks if the factory can sink all possible capabilities. More... | |
bool | can_src_all_caps (const Glib::RefPtr< const Gst::Caps >& caps) const |
Checks if the factory can src all possible capabilities. More... | |
bool | can_sink_any_caps (const Glib::RefPtr< const Gst::Caps >& caps) const |
Checks if the factory can sink any possible capability. More... | |
bool | can_src_any_caps (const Glib::RefPtr< const Gst::Caps >& caps) const |
Checks if the factory can src any possible capability. More... | |
GType | get_element_type () const |
Get the Type for elements managed by this factory. More... | |
std::vector< Glib::ustring > | get_metadata_keys () const |
Get the available keys for the metadata on factory. More... | |
Glib::ustring | get_metadata (const Glib::ustring& key) const |
Get the metadata on factory with key. More... | |
guint | get_num_pad_templates () const |
Gets the number of pad_templates in this factory. More... | |
URIType | get_uri_type () const |
Gets the type of URIs the element supports or Gst::URI_UNKNOWN if none. More... | |
std::vector< Glib::ustring > | get_uri_protocols () const |
Gets a nullptr -terminated array of protocols this element supports or nullptr if no protocols are supported. More... | |
bool | has_interface (const Glib::ustring& name) const |
Check if factory implements the interface with name name. More... | |
std::vector< Gst::StaticPadTemplate > | get_static_pad_templates () const |
Gets the List of Gst::StaticPadTemplate for this factory. More... | |
bool | is_type (ElementFactoryListType type) const |
Check if factory is of the given types. More... | |
![]() | |
PluginFeature (PluginFeature&& src) noexcept | |
PluginFeature& | operator= (PluginFeature&& src) noexcept |
~PluginFeature () noexcept override | |
GstPluginFeature* | gobj () |
Provides access to the underlying C GObject. More... | |
const GstPluginFeature* | gobj () const |
Provides access to the underlying C GObject. More... | |
GstPluginFeature* | gobj_copy () |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More... | |
void | set_rank (guint rank) |
Specifies a rank for a plugin feature, so that autoplugging uses the most appropriate feature. More... | |
guint | get_rank () const |
Gets the rank of a plugin feature. More... | |
Glib::RefPtr< Gst::PluginFeature > | load () |
Loads the plugin containing feature if it's not already loaded. More... | |
Glib::RefPtr< Gst::Plugin > | get_plugin () const |
Get the plugin that provides this feature. More... | |
Glib::ustring | get_plugin_name () const |
Get the name of the plugin that provides this feature. More... | |
bool | check_version (guint min_major, guint min_minor, guint min_micro) const |
Checks whether the given plugin feature is at least the required version. More... | |
![]() | |
Object (Object&& src) noexcept | |
Object& | operator= (Object&& src) noexcept |
~Object () noexcept override | |
GstObject* | gobj () |
Provides access to the underlying C GObject. More... | |
const GstObject* | gobj () const |
Provides access to the underlying C GObject. More... | |
GstObject* | gobj_copy () |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More... | |
bool | is_element () const |
bool | is_element_factory () const |
bool | is_pad () const |
bool | is_pad_template () const |
bool | is_bin () const |
guint32 | get_flags () const |
Returns the entire set of flags for the object. More... | |
bool | set_name (const Glib::ustring& name) |
Sets the name of object, or gives object a guaranteed unique name (if name is nullptr ). More... | |
Glib::ustring | get_name () const |
Returns a copy of the name of object. More... | |
bool | set_parent (const Glib::RefPtr< Gst::Object >& parent) |
Sets the parent of object to parent. More... | |
Glib::RefPtr< Gst::Object > | get_parent () |
Returns the parent of object. More... | |
Glib::RefPtr< const Gst::Object > | get_parent () const |
Returns the parent of object. More... | |
void | unparent () |
Clear the parent of object, removing the associated reference. More... | |
void | set_control_rate (Gst::ClockTime control_rate) |
Change the control-rate for this object. More... | |
Gst::ClockTime | get_control_rate () const |
Obtain the control-rate for this object. More... | |
Gst::ClockTime | suggest_next_sync () const |
Returns a suggestion for timestamps where buffers should be split to get best controller results. More... | |
bool | sync_values (Gst::ClockTime timestamp) |
Sets the properties of the object, according to the Gst::ControlSources that (maybe) handle them and for the given timestamp. More... | |
void | set_control_bindings_disabled (bool disabled) |
This function is used to disable all controlled properties of the object for some time, i.e. sync_values() will do nothing. More... | |
bool | has_asctive_control_bindings () const |
Check if the object has an active controlled properties. More... | |
bool | has_ancestor (const Glib::RefPtr< const Gst::Object >& ancestor) const |
Check if object has an ancestor ancestor somewhere up in the hierarchy. More... | |
bool | has_as_ancestor (const Glib::RefPtr< Gst::Object >& ancestor) const |
Check if object has an ancestor ancestor somewhere up in the hierarchy. More... | |
bool | has_as_parent (const Glib::RefPtr< Gst::Object >& parent) const |
Check if parent is the parent of object. More... | |
Glib::ustring | get_path_string () |
Generates a string describing the path of object in the object hierarchy. More... | |
Glib::PropertyProxy< Glib::ustring > | property_name () |
The name of the object. More... | |
Glib::PropertyProxy_ReadOnly< Glib::ustring > | property_name () const |
The name of the object. More... | |
Glib::PropertyProxy< Glib::RefPtr< Gst::Object > > | property_parent () |
The parent of the object. More... | |
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Gst::Object > > | property_parent () const |
The parent of the object. More... | |
Glib::SignalProxy< void, const Glib::RefPtr< Gst::Object >&, GParamSpec*> | signal_deep_notify () |
int | get_refcount () const |
Static Public Member Functions | |
static GType | get_type () |
Get the GType for this class, for use with the underlying GObject type system. More... | |
static bool | register_element (const Glib::RefPtr< Gst::Plugin >& plugin, const Glib::ustring& name, guint rank, GType type) |
Create a new elementfactory capable of instantiating objects of the type and add the factory to plugin. More... | |
static Glib::RefPtr< Gst::ElementFactory > | find (const Glib::ustring& name) |
Search for an element factory of the given name. More... | |
static Glib::RefPtr< Gst::Element > | create_element (const Glib::ustring& factory_name, const Glib::ustring& name) |
Create a new element of the type defined by the given element factory. More... | |
static Glib::RefPtr< Gst::Element > | create_element (const Glib::ustring& factory_name) |
A create_element() convenience overload. More... | |
static std::vector< Glib::RefPtr< Gst::ElementFactory > > | filter (const std::vector< Glib::RefPtr< Gst::ElementFactory > >& list, const Glib::RefPtr< const Gst::Caps >& caps, PadDirection direction, bool subsetonly) |
Filter out all the elementfactories in list that can handle caps in the given direction. More... | |
static std::vector< Glib::RefPtr< Gst::ElementFactory > > | get_elements (ElementFactoryListType type, Rank minrank) |
Get a list of factories that match the given type. More... | |
![]() | |
static GType | get_type () |
Get the GType for this class, for use with the underlying GObject type system. More... | |
![]() | |
static GType | get_type () |
Get the GType for this class, for use with the underlying GObject type system. More... | |
static bool | check_uniqueness (const Glib::ListHandle< const Gst::Object >& list, const Glib::ustring& name) |
Checks to see if there is any object named name in list. More... | |
Related Functions | |
(Note that these are not member functions.) | |
Glib::RefPtr< Gst::ElementFactory > | wrap (GstElementFactory* object, bool take_copy=false) |
A Glib::wrap() method for this object. More... | |
![]() | |
Glib::RefPtr< Gst::PluginFeature > | wrap (GstPluginFeature* object, bool take_copy=false) |
A Glib::wrap() method for this object. More... | |
![]() | |
Glib::RefPtr< Gst::Object > | wrap (GstObject* object, bool take_copy=false) |
A Glib::wrap() method for this object. More... | |
Additional Inherited Members | |
![]() | |
typedef sigc::slot< bool, const Glib::RefPtr< Gst::PluginFeature >&> | SlotFilter |
For example, bool on_filter(const Glib::RefPtr<Gst::PluginFeature>& feature);. More... | |
![]() | |
virtual void | on_deep_notify (const Glib::RefPtr< Gst::Object >& prop_object, GParamSpec* prop) |
This is a default handler for the signal signal_deep_notify(). More... | |
Create Gst::Element 's from a factory.
Gst::ElementFactory is used to create instances of elements. A Gst::ElementFactory can be added to a Gst::Plugin as it is also a Gst::PluginFeature.
Use the find() and create() functions to create element instances or use create_element() as a convenient shortcut.
The following code example shows you how to create a 'filesrc' element.
Last reviewed on 2016-05-21 (1.8.0).
|
noexcept |
|
overridenoexcept |
bool Gst::ElementFactory::can_sink_all_caps | ( | const Glib::RefPtr< const Gst::Caps >& | caps | ) | const |
Checks if the factory can sink all possible capabilities.
caps | The caps to check. |
true
if the caps are fully compatible. bool Gst::ElementFactory::can_sink_any_caps | ( | const Glib::RefPtr< const Gst::Caps >& | caps | ) | const |
Checks if the factory can sink any possible capability.
caps | The caps to check. |
true
if the caps have a common subset. bool Gst::ElementFactory::can_src_all_caps | ( | const Glib::RefPtr< const Gst::Caps >& | caps | ) | const |
Checks if the factory can src all possible capabilities.
caps | The caps to check. |
true
if the caps are fully compatible. bool Gst::ElementFactory::can_src_any_caps | ( | const Glib::RefPtr< const Gst::Caps >& | caps | ) | const |
Checks if the factory can src any possible capability.
caps | The caps to check. |
true
if the caps have a common subset. Glib::RefPtr<Gst::Element> Gst::ElementFactory::create | ( | const Glib::ustring & | name | ) |
Create a new element of the type defined by the given elementfactory.
It will be given the name supplied, since all elements require a name as their first argument.
name | Name of new element, or nullptr to automatically create a unique name. |
nullptr
if the element couldn't be created. Glib::RefPtr<Gst::Element> Gst::ElementFactory::create | ( | ) |
A create() convenience overload.
|
static |
Create a new element of the type defined by the given element factory.
factory_name | A named factory to instantiate. |
name | Name of new element. |
nullptr
if unable to create element.
|
static |
A create_element() convenience overload.
|
static |
Filter out all the elementfactories in list that can handle caps in the given direction.
If subsetonly is true
, then only the elements whose pads templates are a complete superset of caps will be returned. Else any element whose pad templates caps can intersect with caps will be returned.
list | A List of Gst::ElementFactory to filter. |
caps | A Gst::Caps. |
direction | A Gst::PadDirection to filter on. |
subsetonly | Whether to filter on caps subsets or not. |
|
static |
Search for an element factory of the given name.
Refs the returned element factory; caller is responsible for unreffing.
name | Name of factory to find. |
nullptr
otherwise. GType Gst::ElementFactory::get_element_type | ( | ) | const |
Get the Type for elements managed by this factory.
The type can only be retrieved if the element factory is loaded, which can be assured with Gst::PluginFeature::load().
|
static |
Get a list of factories that match the given type.
Only elements with a rank greater or equal to minrank will be returned. The list of factories is returned by decreasing rank.
type | A Gst::ElementFactoryListType. |
minrank | Minimum rank. |
Glib::ustring Gst::ElementFactory::get_metadata | ( | const Glib::ustring & | key | ) | const |
Get the metadata on factory with key.
key | A key. |
nullptr
when there was no metadata with the given key. std::vector<Glib::ustring> Gst::ElementFactory::get_metadata_keys | ( | ) | const |
Get the available keys for the metadata on factory.
nullptr
-terminated array of key strings, or nullptr
when there is no metadata. guint Gst::ElementFactory::get_num_pad_templates | ( | ) | const |
Gets the number of pad_templates in this factory.
std::vector< Gst::StaticPadTemplate > Gst::ElementFactory::get_static_pad_templates | ( | ) | const |
Gets the List of Gst::StaticPadTemplate for this factory.
|
static |
Get the GType for this class, for use with the underlying GObject type system.
std::vector<Glib::ustring> Gst::ElementFactory::get_uri_protocols | ( | ) | const |
Gets a nullptr
-terminated array of protocols this element supports or nullptr
if no protocols are supported.
You may not change the contents of the returned array, as it is still owned by the element factory. Use Glib::strdupv() to make a copy of the protocol string array if you need to.
nullptr
. URIType Gst::ElementFactory::get_uri_type | ( | ) | const |
Gets the type of URIs the element supports or Gst::URI_UNKNOWN if none.
|
inline |
Provides access to the underlying C GObject.
|
inline |
Provides access to the underlying C GObject.
GstElementFactory* Gst::ElementFactory::gobj_copy | ( | ) |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
bool Gst::ElementFactory::has_interface | ( | const Glib::ustring & | name | ) | const |
Check if factory implements the interface with name name.
name | An interface name. |
true
when factory implement the interface. bool Gst::ElementFactory::is_type | ( | ElementFactoryListType | type | ) | const |
Check if factory is of the given types.
type | A Gst::ElementFactoryListType. |
true
if factory is of type.
|
noexcept |
|
static |
Create a new elementfactory capable of instantiating objects of the type and add the factory to plugin.
plugin | Gst::Plugin to register the element with, or nullptr for a static element. |
name | Name of elements of this type. |
rank | Rank of element (higher rank means more importance when autoplugging). |
type | GType of element to register. |
true
, if the registering succeeded, false
on error.
|
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. |