GstInterpipe - Buffer Forwarding

From RidgeRun Developer Wiki




Previous: Features Detailed Description Index Next: Dynamic Switching




This page contains a detailed description of the GstInterpipe Buffer Forwarding feature.


The main purpose of the GstInterpipe Project is to communicate buffers from one pipeline to another. This can be done in a safe way, without worrying about the states or events of any of the pipelines. To set an interpipesrc (listener) to listen to a specific interpipesink (node), all it is needed is to set the listen-to property. A NULL or empty listen-to will disconnect the listener from any node. The following tables summarize the properties involved in buffer transfer.

Property
Element interpipesrc
Name listen-to
Description The name of the node to listen to
Special Values NULL Stop listening
(empty) Stop listening
Table 1. Interpipesrc "listen-to" property description

Property
Element interpipesink
Name name
Description The name of the node. It can only be set during construction
Special Values
Table 2. Interpipesink "name" property description


The following figures, and their respective gst-launch pipelines illustrate this concept:

 gst-launch-1.0 \
 videotestsrc ! interpipesink name=camera \
 interpipesrc listen-to="" ! fakesink
Detached pipelines


 gst-launch-1.0 \
 videotestsrc ! interpipesink name=camera \
 interpipesrc listen-to="camera" ! fakesink
Attached pipelines


Previous: Features Detailed Description Index Next: Dynamic Switching