Pipelines in the lag processing stage can be constructed from any of a number of elements. The only restriction is that the pipeline work in the backend system framework as described previously. What this means is that the pipeline must receive lag sets and application-specific events on its input socket. The bare minimum requirements can be met with a pipeline constructed with one specific element as its source element, which is therefore regarded as a mandatory element in all lag processing stage pipelines.
![]() | Note |
---|---|
There is no pipeline element that sends messages to the input stage; that task is handled by the lag processing pipeline application. This scheme ensures that the use of the pipeline message bus by the application is not determined by any element in the pipeline, but remains an application-specific feature. Nevertheless, as described in the section called “Message passing”, other uses of the message bus within the pipeline are also possible. |
At present, there is only one mandatory element in all lag processing stage pipelines. There is a possibility that other elements may be introduced in the future that will also be mandatory (most likely a standard sink element).
This is the standard source element in a lag processing stage pipeline. It is able to handle all incoming messages on a socket from the input stage (i.e., receiving lag sets, and events) according to the protocol used by the input stage.
Lag sets are associated with a particular correlator
product as specified by the current configuration. As
described in the section called “Schema”, correlator
products are identified by a unique string given by the
configuration. However, as elements likely will often
refer to the particular product to which a lag set
belongs, lag sets carry an equivalent integer identifier
that exists solely within a pipeline for faster indexing
operations on the lag set product identification. The
wcbe_lagset_src
element
generates this integer for use throughout the rest of
the pipeline.
![]() | Note |
---|---|
The generation of integer identifiers is the only modification made by the element to the lag sets as received from the input stage. The input stage also uses similar identifiers, which get transmitted with the lag set; however, because the identifiers as received by the lag processing stage were generated within another process, they must be regenerated within the receiving process to ensure uniqueness. These identifiers are only to be used internally by a pipeline process, and should never be used in any way by other processes. |
Events received by this element are simply recreated as GStreamer events, and passed downstream. Currently, only the GST_EVENT_EOS, GST_EVENT_FLUSH_START, GST_EVENT_FLUSH_STOP, and GST_EVENT_NEW_SEGMENT events are passed downstream by this element.
The following figure is derived from the output of the gst-inspect wcbe_lagset_src command, which provides information on this GStreamer element.