Top | ![]() |
![]() |
![]() |
![]() |
#define GST_INTER_PIPE_TYPE_ILISTENER (gst_inter_pipe_ilistener_get_type())
const gchar *
gst_inter_pipe_ilistener_get_name (GstInterPipeIListener *iface
);
Return the name associated with the object implementing the interface.
GstCaps * gst_inter_pipe_ilistener_get_caps (GstInterPipeIListener *iface
,gboolean *negotiated
);
Return the set of supported caps of the element implementing the interface.
This set of caps should consider the supported caps of the downstream elements.
If the caps negotiation has already taken place, this caps should be the ones
configured in the element and negotiated
should be set to true.
iface |
The object to query the GstCaps from. |
[transfer none][not nullable] |
negotiated |
Whether or not the listener already has the caps negotiated and configured in the element. |
[out] |
gboolean gst_inter_pipe_ilistener_set_caps (GstInterPipeIListener *iface
,const GstCaps *caps
);
Set the given GstCaps in the listener. This caps should be forwarded to downstream elements.
Return: True if it was possible to set the given caps, False otherwise.
iface |
The object to set the GstCaps to. |
[transfer none][not nullable] |
caps |
The GstCaps to set in the element. |
[transfer none][not nullable] |
gboolean gst_inter_pipe_ilistener_node_added (GstInterPipeIListener *iface
,const gchar *node_name
);
Callback that will be called whenever a new GstInterPipeINode is added. It is responsibility of the listener to decide whether or not it is interested in the newly added GstInterPipeINode.
Return: True always.
iface |
The object to notify when a new GstInterPipeINode is added. |
[transfer none][not nullable] |
node_name |
The name of the newly connected GstInterPipeINode. |
[transfer none][not nullable] |
gboolean gst_inter_pipe_ilistener_node_removed (GstInterPipeIListener *iface
,const gchar *node_name
);
Callback that will be called whenever a GstInterPipeINode is removed. It is responsibility of the listener to decide whether or not it is interested in the event.
Return: True always.
iface |
The object to notify when a GstInterPipeINode is added. |
[transfer none][not nullable] |
node_name |
The name of the GstInterPipeINode that was removed. |
[transfer none][not nullable] |
gboolean gst_inter_pipe_ilistener_push_buffer (GstInterPipeIListener *iface
,GstBuffer *buffer
,guint64 basetime
);
Push buffer
to the downstream element. If required compensate the timestamp
using basetime
in order to get an equivalent buffer time.
Return: True if the buffer was successfully pushed, False otherwise.
iface |
The object that should push the GstBuffer downstream. |
[transfer none][not nullable] |
buffer |
The GstBuffer to be pushed downstream. |
[transfer full][not nullable] |
basetime |
The basetime of the node's pipeline. If required, the listener should compensate the buffer's timestamp using the node's base time and its own, in order to get an equivalent buffer time. |
gboolean gst_inter_pipe_ilistener_push_event (GstInterPipeIListener *iface
,GstEvent *event
,guint64 basetime
);
Push event
to the downstream element. If required compensate the timestamp
using basetime
in order to get an equivalent event time.
Return: True if the event was successfully pushed, False otherwise.
iface |
The object that should push the GstEvent downstream. |
[transfer none][not nullable] |
event |
The GstEvent to be pushed downstream. |
[transfer full][not nullable] |
basetime |
The basetime of the node's pipeline. If required, the listener should compensate the event's timestamp using the node's base time and its own, in order to get an equivalent event time. |
gboolean
gst_inter_pipe_ilistener_send_eos (GstInterPipeIListener *iface
);
Push an EOS event to the downstream elements.
Return: True if the event was successfully pushed, False otherwise.
struct GstInterPipeIListenerInterface { const gchar * (*get_name) (GstInterPipeIListener *iface); GstCaps * (*get_caps) (GstInterPipeIListener *iface, gboolean *negotiated); gboolean (*set_caps) (GstInterPipeIListener *iface, const GstCaps *caps); gboolean (* node_added) (GstInterPipeIListener *iface, const gchar *node_name); gboolean (* node_removed) (GstInterPipeIListener *iface, const gchar *node_removed); gboolean (* push_buffer) (GstInterPipeIListener *iface, GstBuffer *buffer, guint64 basetime); gboolean (* push_event) (GstInterPipeIListener *iface, GstEvent *event, guint64 basetime); gboolean (* send_eos) (GstInterPipeIListener *iface); };
get_name
: Return the name of the object implementing the
interface. See gst_inter_pipe_ilistener_get_name.
get_caps
: Return the set of supported caps. The element
implementing the interface should consider it's downstream
capabilities. Additionally, it should output through the
negotiated
variable whether or not caps are already configured in
the element. See gst_inter_pipe_ilistener_get_caps.
set_caps
: Configure the given caps into the element. This caps
should be forwarded to downstream elements. See
gst_inter_pipe_ilistener_set_caps.
node_added
: Callback function that will be called whenever a new
node is connected. It's responsibility of the listener to decide
whether or not it is interested in the new node. See
gst_inter_pipe_ilistener_node_added.
node_removed
: Callback function that will be called whenever a
node is disconnected. It's responsibility of the listener to decide
whether or not it is interested in the node removal. See
gst_inter_pipe_ilistener_node_removed.
push_buffer
: Push the given buffer into the listener's
pipeline. Furthermore, consider basetime
in order to compensate
its timestamp if required. See
gst_inter_pipe_ilistener_push_buffer.
push_event
: Push the given event into the listener's
pipeline. Furthermore, consider basetime
in order to compensate
its timestamp if required. See
gst_inter_pipe_ilistener_push_event.
send_eos
: Send an EOS event into the listener's pipeline. See
gst_inter_pipe_ilistener_send_eos.