gstreamermm  1.10.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | Related Functions | List of all members
Gst::PadTemplate Class Reference

A class that describes the media type of a pad. More...

#include <gstreamermm/padtemplate.h>

Inheritance diagram for Gst::PadTemplate:
Inheritance graph
[legend]

Public Member Functions

 PadTemplate (PadTemplate&& src) noexcept
 
PadTemplateoperator= (PadTemplate&& src) noexcept
 
 ~PadTemplate () noexcept override
 
GstPadTemplate* gobj ()
 Provides access to the underlying C GObject. More...
 
const GstPadTemplate* gobj () const
 Provides access to the underlying C GObject. More...
 
GstPadTemplate* 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::Capsget_caps ()
 Gets the capabilities of the pad template. More...
 
Glib::RefPtr< const Gst::Capsget_caps () const
 Gets the capabilities of the pad template. More...
 
Glib::ustring get_name_template () const
 Get the nametemplate of the padtemplate. More...
 
PadDirection get_direction () const
 Get the Gst::PadDirection of the padtemplate. More...
 
PadPresence get_presence () const
 Get the Gst::PadPresence of the padtemplate. More...
 
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Gst::Caps > > property_caps () const
 The capabilities of the pad described by the pad template. More...
 
Glib::PropertyProxy_ReadOnly< Gst::PadDirectionproperty_direction () const
 The direction of the pad described by the pad template. More...
 
Glib::PropertyProxy_ReadOnly< Glib::ustring > property_name_template () const
 The name template of the pad template. More...
 
Glib::PropertyProxy_ReadOnly< Gst::PadPresenceproperty_presence () const
 When the pad described by the pad template will become available. More...
 
Glib::SignalProxy< void, const Glib::RefPtr< Gst::Pad >&> signal_pad_created ()
 
- Public Member Functions inherited from Gst::Object
 Object (Object&& src) noexcept
 
Objectoperator= (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::Objectget_parent ()
 Returns the parent of object. More...
 
Glib::RefPtr< const Gst::Objectget_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 Glib::RefPtr< PadTemplatecreate (const Glib::ustring& name_template, PadDirection direction, PadPresence presence, const Glib::RefPtr< Gst::Caps >& caps)
 Creates a new pad template with a name according to the given template and with the given arguments. More...
 
- Static Public Member Functions inherited from Gst::Object
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...
 

Protected Member Functions

 PadTemplate (const Glib::ustring& name_template, PadDirection direction, PadPresence presence, const Glib::RefPtr< Gst::Caps >& caps)
 
virtual void on_pad_created (const Glib::RefPtr< Gst::Pad >& pad)
 This is a default handler for the signal signal_pad_created(). More...
 
- Protected Member Functions inherited from Gst::Object
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...
 

Related Functions

(Note that these are not member functions.)

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

Detailed Description

A class that describes the media type of a pad.

Padtemplates describe the possible media types a pad or an elementfactory can handle. This allows for both inspection of handled types before loading the element plugin as well as identifying pads on elements that are not yet created (request or sometimes pads).

Gst::Pad and PadTemplates have Gst::Caps attached to it to describe the media type they are capable of dealing with. get_caps() is used to get the caps of a padtemplate. It's not possible to modify the caps of a padtemplate after creation.

PadTemplates have a Gst::PadPresence property which identifies the lifetime of the pad and that can be retrieved with get_presence(). Also the direction of the pad can be retrieved from the GstPadTemplate with get_direction().

The get_name_template() method is important for Gst::PAD_REQUEST pads because it has to be used as the name in the Gst::Element::get_request_pad() call to instantiate a pad from this template.

Padtemplates can be created with create().

A padtemplate can be used to create a pad (see Gst::Pad::create() methods).

Last reviewed on 2016-06-06 (1.8.0)

Constructor & Destructor Documentation

◆ PadTemplate() [1/2]

Gst::PadTemplate::PadTemplate ( PadTemplate&&  src)
noexcept

◆ ~PadTemplate()

Gst::PadTemplate::~PadTemplate ( )
overridenoexcept

◆ PadTemplate() [2/2]

Gst::PadTemplate::PadTemplate ( const Glib::ustring &  name_template,
PadDirection  direction,
PadPresence  presence,
const Glib::RefPtr< Gst::Caps >&  caps 
)
explicitprotected

Member Function Documentation

◆ create()

static Glib::RefPtr<PadTemplate> Gst::PadTemplate::create ( const Glib::ustring &  name_template,
PadDirection  direction,
PadPresence  presence,
const Glib::RefPtr< Gst::Caps >&  caps 
)
static

Creates a new pad template with a name according to the given template and with the given arguments.

This functions takes ownership of the provided caps, so be sure to not use them afterwards.

Parameters
name_templateThe name template.
directionThe Gst::PadDirection of the template.
presenceThe Gst::PadPresence of the pad.
capsA Gst::Caps set for the template. The caps are taken ownership of.
Returns
A new Gst::PadTemplate.

◆ get_caps() [1/2]

Glib::RefPtr<Gst::Caps> Gst::PadTemplate::get_caps ( )

Gets the capabilities of the pad template.

Returns
The Gst::Caps of the pad template. Unref after usage.

◆ get_caps() [2/2]

Glib::RefPtr<const Gst::Caps> Gst::PadTemplate::get_caps ( ) const

Gets the capabilities of the pad template.

Returns
The Gst::Caps of the pad template. Unref after usage.

◆ get_direction()

PadDirection Gst::PadTemplate::get_direction ( ) const

Get the Gst::PadDirection of the padtemplate.

◆ get_name_template()

Glib::ustring Gst::PadTemplate::get_name_template ( ) const

Get the nametemplate of the padtemplate.

◆ get_presence()

PadPresence Gst::PadTemplate::get_presence ( ) const

Get the Gst::PadPresence of the padtemplate.

◆ get_type()

static GType Gst::PadTemplate::get_type ( )
static

Get the GType for this class, for use with the underlying GObject type system.

◆ gobj() [1/2]

GstPadTemplate* Gst::PadTemplate::gobj ( )
inline

Provides access to the underlying C GObject.

◆ gobj() [2/2]

const GstPadTemplate* Gst::PadTemplate::gobj ( ) const
inline

Provides access to the underlying C GObject.

◆ gobj_copy()

GstPadTemplate* Gst::PadTemplate::gobj_copy ( )

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

◆ on_pad_created()

virtual void Gst::PadTemplate::on_pad_created ( const Glib::RefPtr< Gst::Pad >&  pad)
protectedvirtual

This is a default handler for the signal signal_pad_created().

◆ operator=()

PadTemplate& Gst::PadTemplate::operator= ( PadTemplate&&  src)
noexcept

◆ property_caps()

Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gst::Caps> > Gst::PadTemplate::property_caps ( ) const

The capabilities of the pad described by the pad template.

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ property_direction()

Glib::PropertyProxy_ReadOnly< Gst::PadDirection > Gst::PadTemplate::property_direction ( ) const

The direction of the pad described by the pad template.

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ property_name_template()

Glib::PropertyProxy_ReadOnly< Glib::ustring > Gst::PadTemplate::property_name_template ( ) const

The name template of the pad template.

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ property_presence()

Glib::PropertyProxy_ReadOnly< Gst::PadPresence > Gst::PadTemplate::property_presence ( ) const

When the pad described by the pad template will become available.

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ signal_pad_created()

Glib::SignalProxy< void,const Glib::RefPtr<Gst::Pad>& > Gst::PadTemplate::signal_pad_created ( )
Slot Prototype:
void on_my_pad_created(const Glib::RefPtr<Gst::Pad>& pad)

This signal is fired when an element creates a pad from this template.

Parameters
padThe pad that was created.

Friends And Related Function Documentation

◆ wrap()

Glib::RefPtr< Gst::PadTemplate > wrap ( GstPadTemplate *  object,
bool  take_copy = false 
)
related

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

Parameters
objectThe C instance.
take_copyFalse 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.