|
gstreamermm
1.4.3
|
A class that represents pseudo link pads. More...


Public Member Functions | |
| virtual | ~GhostPad () |
| GstGhostPad* | gobj () |
| Provides access to the underlying C GObject. More... | |
| const GstGhostPad* | gobj () const |
| Provides access to the underlying C GObject. More... | |
| GstGhostPad* | 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 | set_target (const Glib::RefPtr< Gst::Pad >& newtarget) |
| Set the new target of the ghostpad gpad. More... | |
| Glib::RefPtr< Gst::Pad > | get_target () |
| Get the target pad of gpad. More... | |
| Glib::RefPtr< const Gst::Pad > | get_target () const |
| Get the target pad of gpad. More... | |
Public Member Functions inherited from Gst::Pad | |
| virtual | ~Pad () |
| GstPad* | gobj () |
| Provides access to the underlying C GObject. More... | |
| const GstPad* | gobj () const |
| Provides access to the underlying C GObject. More... | |
| GstPad* | 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::Caps > | query_caps (Glib::RefPtr< Gst::Caps > caps) |
| Gets the capabilities this pad can produce or consume. More... | |
| Glib::RefPtr< const Gst::Caps > | query_caps (Glib::RefPtr< Gst::Caps > caps) const |
| Gets the capabilities this pad can produce or consume. More... | |
| PadDirection | get_direction () const |
| Gets the direction of the pad. More... | |
| Glib::RefPtr< Gst::Element > | get_parent_element () |
| Gets the parent of pad, cast to a Gst::Element. More... | |
| Glib::RefPtr< const Gst::Element > | get_parent_element () const |
| Gets the parent of pad, cast to a Gst::Element. More... | |
| Glib::RefPtr< Gst::PadTemplate > | get_pad_template () |
| Gets the template for pad. More... | |
| Glib::RefPtr< const Gst::PadTemplate > | get_pad_template () const |
| Gets the template for pad. More... | |
| PadLinkReturn | link (const Glib::RefPtr< Gst::Pad >& sink_pad) |
| Links the source pad and the sink pad. More... | |
| bool | unlink (const Glib::RefPtr< Gst::Pad >& sink_pad) |
| Unlinks the source pad from the sink pad. More... | |
| bool | is_linked () const |
| Checks if a pad is linked to another pad or not. More... | |
| bool | can_link (const Glib::RefPtr< const Gst::Pad >& other_pad) const |
| Checks if the source pad and the sink pad are compatible so they can be linked. More... | |
| Glib::RefPtr< Gst::Caps > | get_allowed_caps () |
| Gets the capabilities of the allowed media types that can flow through pad and its peer. More... | |
| Glib::RefPtr< const Gst::Caps > | get_allowed_caps () const |
| Gets the capabilities of the allowed media types that can flow through pad and its peer. More... | |
| Glib::RefPtr< const Gst::Caps > | get_pad_template_caps () const |
| Gets the capabilities for pad's template. More... | |
| gulong | add_probe (PadProbeType mask, const SlotProbe& slot) |
| void | remove_probe (gulong id) |
| Remove the probe with id from pad. More... | |
| Glib::RefPtr< Gst::Pad > | get_peer () |
| Gets the peer of pad. More... | |
| Glib::RefPtr< const Gst::Pad > | get_peer () const |
| Gets the peer of pad. More... | |
| void | use_fixed_caps () |
| A helper function you can use that sets the FIXED_CAPS flag This way the default CAPS query will always return the negotiated caps or in case the pad is not negotiated, the padtemplate caps. More... | |
| bool | is_active () const |
| Query if a pad is active. More... | |
| bool | is_blocked () const |
| Checks if the pad is blocked or not. More... | |
| bool | is_blocking () const |
| Checks if the pad is blocking or not. More... | |
| FlowReturn | get_range (guint64 offset, guint size, Glib::RefPtr< Gst::Buffer >& buffer) |
| When pad is flushing this function returns Gst::FLOW_WRONG_STATE immediatly. More... | |
| bool | query_accept_caps (const Glib::RefPtr< const Gst::Caps >& caps) const |
| Check if the given pad accepts the caps. More... | |
| bool | proxy_query_caps (const Glib::RefPtr< Gst::Query >&query) |
| Calls query_caps() for all internally linked pads fof pad and returns the intersection of the results. More... | |
| bool | proxy_query_caps (const Glib::RefPtr< Gst::Query >&query) const |
| Calls query_caps() for all internally linked pads fof pad and returns the intersection of the results. More... | |
| bool | peer_query_accept_caps (const Glib::RefPtr< const Gst::Caps >& caps) const |
| Check if the peer of pad accepts caps. More... | |
| FlowReturn | push (Glib::RefPtr< Gst::Buffer >& buffer) |
| Pushes a buffer to the peer of the pad. More... | |
| bool | push_event (const Glib::RefPtr< Gst::Event >& event) |
| Sends the event to the peer of the pad. More... | |
| FlowReturn | pull_range (guint64 offset, guint size, Glib::RefPtr< Gst::Buffer >& buffer) |
| Pulls a buffer from the peer pad. More... | |
| bool | activate_mode (Gst::PadMode mode, bool active=true) |
| Activates or deactivates the given pad in mode via dispatching to the pad's activatemodefunc. More... | |
| bool | send_event (const Glib::RefPtr< Gst::Event >& event) |
| Sends the event to the pad. More... | |
| bool | event_default (const Glib::RefPtr< Gst::Object >& parent, const Glib::RefPtr< Gst::Event >& event) |
| Invokes the default event handler for the given pad. More... | |
| bool | event_default (const Glib::RefPtr< Gst::Event >& event) |
| A event_default() convenience overload. More... | |
| bool | query (const Glib::RefPtr< Gst::Query >& query) const |
| Dispatches a query to a pad. More... | |
| bool | peer_query (const Glib::RefPtr< Gst::Query >&query) const |
| Performs query() on the peer of pad. More... | |
| Glib::RefPtr< Gst::Caps > | peer_query_caps (const Glib::RefPtr< Gst::Caps >& filter) const |
| Gets the capabilities of the peer connected to this pad. More... | |
| bool | query_default (const Glib::RefPtr< Gst::Object >& parent, const Glib::RefPtr< Gst::Query >&query) const |
| Invokes the default query handler for the given pad. More... | |
| bool | query_default (const Glib::RefPtr< Gst::Query >&query) const |
| A query_default() convenience overload. More... | |
| bool | query_position (Format format, gint64& position) const |
| Queries a pad for the stream position. More... | |
| bool | query_position (Format& format) const |
| Queries a pad for the stream position parsing only the format. More... | |
| bool | query_duration (Format format, gint64& duration) const |
| Queries a pad for the total stream duration. More... | |
| bool | query_duration (Format& format) const |
| Queries a pad for the total stream duration parsing only the format. More... | |
| bool | query_convert (Format src_format, gint64 src_value, Format dst_format, gint64& dst_value) const |
| Queries a pad to convert src_val in src_format to dest_format. More... | |
| bool | peer_query_convert (Format src_format, gint64 src_value, Format dst_format, gint64& dst_value) const |
| Queries the peer pad of a given sink pad to convert src_val in src_format to dest_format. More... | |
| Gst::Iterator< Gst::Pad > | iterate_internal_links () |
| Gets an iterator for the pads to which the given pad is linked to inside of the parent element. More... | |
| Gst::Iterator< const Gst::Pad > | iterate_internal_links () const |
| Gets an iterator for the pads to which the given pad is linked to inside of the parent element. More... | |
| Gst::Iterator< Gst::Pad > | iterate_internal_links_default (const Glib::RefPtr< Gst::Object >& parent) |
| Iterate the list of pads to which the given pad is linked to inside of the parent element. More... | |
| Gst::Iterator< Gst::Pad > | iterate_internal_links_default () |
| A iterate_internal_links_default() convenience overload. More... | |
| Gst::Iterator< const Gst::Pad > | iterate_internal_links_default (const Glib::RefPtr< Gst::Object >& parent) const |
| Iterate the list of pads to which the given pad is linked to inside of the parent element. More... | |
| Gst::Iterator< const Gst::Pad > | iterate_internal_links_default () const |
| A iterate_internal_links_default() convenience overload. More... | |
| FlowReturn | chain (Glib::RefPtr< Gst::Buffer >& buffer) |
| Glib::RefPtr< Gst::Caps > | get_current_caps () |
| Gets the capabilities currently configured on pad with the last Gst::EVENT_CAPS event. More... | |
| bool | pause_task () |
| Pause the task of pad. More... | |
| bool | stop_task () |
| Stop the task of pad. More... | |
| bool | set_active (bool active=true) |
| Activates or deactivates the given pad. More... | |
| Glib::RefPtr< Gst::Event > | get_sticky_event (Gst::EventType event_type, guint idx) const |
| Returns a new reference of the sticky event of type event_type from the event. More... | |
| void | set_chain_function (const SlotChain& slot) |
| void | set_event_function (const SlotEvent& slot) |
| void | set_query_function (const SlotQuery& slot) |
| void | set_activate_function (const SlotActivate& slot) |
| void | set_activatemode_function (const SlotActivatemode& slot) |
| void | set_getrange_function (const SlotGetrange& slot) |
| Glib::SignalProxy1< void, const Glib::RefPtr< Gst::Pad >& > | signal_linked () |
| Glib::SignalProxy1< void, const Glib::RefPtr< Gst::Pad >& > | signal_unlinked () |
| Glib::PropertyProxy_ReadOnly < Glib::RefPtr< Gst::Caps > > | property_caps () const |
| The capabilities of the pad. More... | |
| Glib::PropertyProxy_ReadOnly < PadDirection > | property_direction () const |
| The direction of the pad. More... | |
| Glib::PropertyProxy< PadTemplate > | property_template () |
| The GstPadTemplate of this pad. More... | |
| Glib::PropertyProxy_ReadOnly < PadTemplate > | property_template () const |
| The GstPadTemplate of this pad. More... | |
| bool | is_ghost_pad () const |
| Checks whether pad is a ghostpad. More... | |
| bool | is_proxy_pad () const |
| void | exception_handler () |
| Handle exceptions occuring in callback methods. More... | |
Public Member Functions inherited from Gst::Object | |
| virtual | ~Object () |
| 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 0). 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... | |
| bool | has_ancestor (const Glib::RefPtr< const Gst::Object >& ancestor) const |
| Check if object has an ancestor ancestor somewhere up in the hierarchy. 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::SignalProxy2< void, const Glib::RefPtr< 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< GhostPad > | create (const Glib::RefPtr< Gst::Pad >& target, const Glib::ustring& name=Glib::ustring()) |
| Create a new Gst::GhostPad with target as the target. More... | |
| static Glib::RefPtr< GhostPad > | create (PadDirection dir, const Glib::ustring& name=Glib::ustring()) |
| Create a new Gst::GhostPad without a target with the given direction. More... | |
| static Glib::RefPtr< GhostPad > | create (const Glib::RefPtr< Gst::Pad >& target, const Glib::RefPtr< Gst::PadTemplate >& templ, const Glib::ustring& name=Glib::ustring()) |
| Create a new Gst::GhostPad with target as the target. More... | |
| static Glib::RefPtr< GhostPad > | create (const Glib::RefPtr< Gst::PadTemplate >& templ, const Glib::ustring& name=Glib::ustring()) |
| Create a new Gst::GhostPad based on templ, without setting a target. More... | |
Static Public Member Functions inherited from Gst::Pad | |
| static GType | get_type () |
| Get the GType for this class, for use with the underlying GObject type system. More... | |
| static Glib::RefPtr< Pad > | create (const Glib::ustring& name, PadDirection dir) |
| Creates a new pad with the given name in the given direction. More... | |
| static Glib::RefPtr< Pad > | create (PadDirection dir) |
| Creates a new pad with a guaranteed unique name (across all pads) in the given direction. More... | |
| static Glib::RefPtr< Pad > | create (const Glib::RefPtr< const Gst::PadTemplate >& pad_template) |
| Creates a new pad with the given name from the given template. More... | |
| static Glib::RefPtr< Pad > | create (const Glib::RefPtr< const Gst::PadTemplate >& pad_template, const Glib::ustring& name) |
| Creates a new pad with a guaranteed unique name (across all pads) from the given template. More... | |
| static GstFlowReturn | Pad_Chain_gstreamermm_callback (GstPad* pad, GstObject* parent, GstBuffer* buffer) |
| static gboolean | Pad_Event_gstreamermm_callback (GstPad* pad, GstObject* parent, GstEvent* event) |
| static gboolean | Pad_Query_gstreamermm_callback (GstPad* pad, GstObject* parent, GstQuery*query) |
| static gboolean | Pad_Activate_gstreamermm_callback (GstPad* pad, GstObject* parent) |
| static gboolean | Pad_Activatemode_gstreamermm_callback (GstPad* pad, GstObject* parent, GstPadMode mode, gboolean active) |
| static GstFlowReturn | Pad_Getrange_gstreamermm_callback (GstPad* pad, GstObject* parent, guint64 offset, guint length, GstBuffer** buffer) |
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 | |
| GhostPad (const Glib::RefPtr< Gst::Pad >& target, const Glib::ustring& name) | |
| Creates a Gst::GhostPad from a target pad. More... | |
| GhostPad (PadDirection direction, const Glib::ustring& name) | |
| Creates a Gst::GhostPad with a specified name and direction. More... | |
| GhostPad (const Glib::RefPtr< Gst::Pad >& target, const Glib::RefPtr< Gst::PadTemplate >& templ, const Glib::ustring& name) | |
| Creates a Gst::GhostPad from a target pad and a pad template. More... | |
| GhostPad (const Glib::RefPtr< Gst::PadTemplate >& templ, const Glib::ustring& name) | |
| Creates a Gst::GhostPad from a pad template. More... | |
Protected Member Functions inherited from Gst::Pad | |
| Pad (const Glib::ustring& name, PadDirection direction) | |
| Constructs a Pad given a name and a direction. More... | |
| Pad (PadDirection direction) | |
| Constructs a Pad given a direction without specifying a name. More... | |
| Pad (const Glib::RefPtr< const Gst::PadTemplate >& templ, const Glib::ustring& name) | |
| Constructs a Pad from a PadTemplate with the specified name. More... | |
| Pad (const Glib::RefPtr< const Gst::PadTemplate >& templ) | |
| Constructs a Pad from a PadTemplate without specifying a name. More... | |
| virtual void | on_linked (const Glib::RefPtr< Gst::Pad >& peer_pad) |
| This is a default handler for the signal signal_linked(). More... | |
| virtual void | on_unlinked (const Glib::RefPtr< Gst::Pad >& peer_pad) |
| This is a default handler for the signal signal_unlinked(). More... | |
Protected Member Functions inherited from Gst::Object | |
| virtual void | on_deep_notify (const Glib::RefPtr< 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::GhostPad > | wrap (GstGhostPad* object, bool take_copy=false) |
| A Glib::wrap() method for this object. More... | |
Related Functions inherited from Gst::Pad | |
| Glib::RefPtr< Gst::Pad > | wrap (GstPad* object, bool take_copy=false) |
| A Glib::wrap() method for this object. More... | |
Related Functions inherited from Gst::Object | |
| Glib::RefPtr< Gst::Object > | wrap (GstObject* object, bool take_copy=false) |
| A Glib::wrap() method for this object. More... | |
Additional Inherited Members | |
Public Types inherited from Gst::Pad | |
| typedef sigc::slot < PadProbeReturn, const Glib::RefPtr< Gst::Pad > &, const Gst::PadProbeInfo& > | SlotProbe |
| For example, bool on_have_data(const Glib::RefPtr<Gst::Pad>& pad, const Glib::RefPtr<Gst::MiniObjec>& data);. More... | |
| typedef sigc::slot < Gst::FlowReturn, const Glib::RefPtr< Gst::Pad > &, Glib::RefPtr< Gst::Buffer >& > | SlotChain |
| typedef sigc::slot< gboolean, const Glib::RefPtr< Gst::Pad > &, Glib::RefPtr< Gst::Event >& > | SlotEvent |
| typedef sigc::slot< gboolean, const Glib::RefPtr< Gst::Pad > &, const Glib::RefPtr < Gst::Query >& > | SlotQuery |
| typedef sigc::slot< bool, const Glib::RefPtr< Gst::Pad >& > | SlotActivate |
| typedef sigc::slot< bool, const Glib::RefPtr< Gst::Pad > &, Gst::PadMode, bool > | SlotActivatemode |
| typedef sigc::slot < Gst::FlowReturn, const Glib::RefPtr< Gst::Pad > &, guint64, guint, Glib::RefPtr< Gst::Buffer >& > | SlotGetrange |
A class that represents pseudo link pads.
Gst::GhostPad are useful when organizing pipelines with Gst::Bin like elements. The idea here is to create hierarchical element graphs. The bin element contains a sub-graph. Now one would like to treat the bin-element like another Gst::Element. This is where Gst::GhostPad come into play. A Gst::GhostPad acts as a proxy for another pad. Thus the bin can have sink and source ghost-pads that are associated with sink and source pads of the child elements.
If the target pad is known at creation time, create() with a Gst::Pad argument is the method to use to get a ghost-pad. Otherwise one can use create() with a Gst::PadDirection argument to create the ghost-pad and use set_target() to establish the association later on.
Note that Gst::GhostPad add overhead to the data processing of a pipeline.
Last reviewed on 2005-11-18 (0.9.5)
|
virtual |
|
protected |
Creates a Gst::GhostPad from a target pad.
| target | The target pad. |
| name | The name of the Gst::GhostPad. |
| std::runtime_error | if Gst::GhostPad construction fails. |
|
protected |
Creates a Gst::GhostPad with a specified name and direction.
| direction | The direction of the Gst::GhostPad. |
| name | The name of the Gst::GhostPad. |
| std::runtime_error | if Gst::GhostPad construction fails. |
|
protected |
Creates a Gst::GhostPad from a target pad and a pad template.
| target | The target pad. |
| templ | The pad template. |
| name | The name of the Gst::GhostPad. |
| std::runtime_error | if Gst::GhostPad construction fails. |
|
protected |
Creates a Gst::GhostPad from a pad template.
| templ | The pad template. |
| name | The name of the Gst::GhostPad. |
| std::runtime_error | if Gst::GhostPad construction fails. |
|
static |
Create a new Gst::GhostPad with target as the target.
The direction will be taken from the target pad. target must be unlinked.
| target | The pad to ghost. |
| name | The (optional) name of the new pad. |
| std::runtime_error | if Gst::GhostPad construction fails. |
|
static |
Create a new Gst::GhostPad without a target with the given direction.
A target can be set on the Gst::GhostPad later with the set_target() function.
The created Gst::GhostPad will not have a padtemplate.
| dir | The direction of the Gst::GhostPad. |
| name | The (optional) name of the new Gst::GhostPad. |
| std::runtime_error | if Gst::GhostPad construction fails. |
|
static |
Create a new Gst::GhostPad with target as the target.
The direction will be taken from the target pad. The template used on the Gst::GhostPad will be template.
| target | The pad to ghost. |
| templ | The Gst::PadTemplate to use on the Gst::GhostPad. |
| name | The (optional) name of the new Gst::GhostPad. |
| std::runtime_error | if Gst::GhostPad construction fails. |
|
static |
Create a new Gst::GhostPad based on templ, without setting a target.
The direction will be taken from templ.
| templ | The Gst::PadTemplate to create the Gst::GhostPad from. |
| name | The (optional) name of the new Gst::GhostPad. |
| std::runtime_error | if Gst::GhostPad construction fails. |
| Glib::RefPtr<Gst::Pad> Gst::GhostPad::get_target | ( | ) |
Get the target pad of gpad.
Unref target pad after usage.
0 if the ghostpad has no target set. Unref target pad after usage. | Glib::RefPtr<const Gst::Pad> Gst::GhostPad::get_target | ( | ) | const |
Get the target pad of gpad.
Unref target pad after usage.
0 if the ghostpad has no target set. Unref target pad after usage.
|
static |
Get the GType for this class, for use with the underlying GObject type system.
|
inline |
Provides access to the underlying C GObject.
|
inline |
Provides access to the underlying C GObject.
| GstGhostPad* Gst::GhostPad::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::GhostPad::set_target | ( | const Glib::RefPtr< Gst::Pad >& | newtarget | ) |
Set the new target of the ghostpad gpad.
Any existing target is unlinked and links to the new target are established. if newtarget is 0 the target will be cleared.
| newtarget | The new pad target. |
true if the new target could be set. This function can return false when the internal pads could not be linked.
|
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.8.6