Pipeline elements

The standard input stage pipeline consists of the following elements, in the order presented here.

wcbe_src

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]Note

The widar-max-framesize property may be needed only if the maximum size of WIDAR lag frames is ever changed.

The following figure is derived from the output of the gst-inspect wcbe_src command, which provides information on this GStreamer element.

wcbe_framedump

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.

wcbe_decode

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]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.

wcbe_sort

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]Note

The configs property value configuration names are tagged in an unusual style to indicate the current status of each existing configuration. These tags should be documented here, but, in the meantime, interactive user access to the backend system through the wcbe_console application hides these tags and reports configuration status using meaningful text strings.

The following figure is derived from the output of the gst-inspect wcbe_sort command, which provides information on this GStreamer element.

wcbe_lagset_sink

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.