The standard input stage pipeline consists of the following elements, in the order presented here.
The source element for WIDAR lag frames. As such, its function is to put lag frames into the input stage pipeline. The lag frames may originate from a UDP socket, in which case they are live frames coming from the WIDAR baseline boards, or from a file in the so-called BLF (for “binary lag frame”) format.
When using a BLF file as the source of lag frames, the frames may be pushed into the pipeline at a user-determined rate, and, optionally, lag frame timestamps (and checksum values) can be rewritten by the element to reflect the wall clock time just before each frame is pushed into the pipeline.
Using a live frame source is somewhat simpler in that there are no element properties to set other than the IP address and port number of the socket.
Element properties other than uri
,
fps
, and
live-timestamps
should not generally be
set. The num-frames
property can be
read at any time for monitoring purposes.
![]() | Note |
---|---|
The |
The following figure is derived from the output of the gst-inspect wcbe_src command, which provides information on this GStreamer element.
This element is a passthrough element, meaning it does not
change the data going through it in any way. Its use is to
dump WIDAR lag frames to files. The
files can be written in either an ASCII
or binary format, the latter being the
BLF file format that may be used as
input by the wcbe_src
element. The generation of frame dump files is
controllable at run-time. Output files are closed (as a
set) and a new set is opened when the largest of the set
reaches or exceeds a specified size.
The following figure is derived from the output of the gst-inspect wcbe_framedump command, which provides information on this GStreamer element.
Decoder element that converts binary lag frames into C language structures for later processing by the input stage pipeline. Frames are only partially decoded for efficiency in later pipeline elements that need to do some kinds of lag frame sorting. Lag frame checksums are validated by this element, and invalid lag frames are dropped from the pipeline.
![]() | Note |
---|---|
The implementation of this element is missing a few features. The most important missing feature is a counter for invalid lag frames, and possibly a signal that is triggered by invalid lag frames. |
The following figure is derived from the output of the gst-inspect wcbe_decode command, which provides information on this GStreamer element.
Element that sorts WIDAR lag frames into lag sets, orders lag sets by time, and handles missing or late lag frames. This is the first element in the input stage pipeline that needs to be passed an XML configuration document before doing any useful work. Lag frames that do not appear in a configuration are dropped from the pipeline. When the active configuration is changed, the element ensures that buffers containing lag sets that arrived before the configuration change event are flushed before the new configuration takes effect.
The implementation of this element is somewhat complex due to the sorting and timeout functionality, as well as the handling of configurations. Although the element is functional, there are a few features that still need to be implemented, mainly having to do with dropped lag frames. This element implements the heart of the backend input stage, and will require much testing to ensure that it is functioning correctly; more properties and signals for monitoring would be very helpful.
![]() | Note |
---|---|
The |
The following figure is derived from the output of the gst-inspect wcbe_sort command, which provides information on this GStreamer element.
Element that routes lag sets to the appropriate lag processing stage pipelines as determined by the active backend configuration. The element also forwards input stage downstream pipeline events to the lag processing stage pipelines in the currently active configuration as they arrive. Pipeline flush events are created and sent to all lag processing stage pipelines in the active configuration before switching to a different configuration.
See this note
regarding the value of the configs
element property.
The following figure is derived from the output of the gst-inspect wcbe_lagset_sink command, which provides information on this GStreamer element.