GstFlowCombiner

Utility struct to help handling #GstFlowReturn combination. Useful for #GstElement<!-- -->s that have multiple source pads and need to combine the different #GstFlowReturn for those pads.

#GstFlowCombiner works by using the last #GstFlowReturn for all #GstPad it has in its list and computes the combined return value and provides it to the caller.

To add a new pad to the #GstFlowCombiner use gstbase.flow_combiner.FlowCombiner.addPad. The new #GstPad is stored with a default value of gst.types.FlowReturn.Ok.

In case you want a #GstPad to be removed, use gstbase.flow_combiner.FlowCombiner.removePad.

Please be aware that this struct isn't thread safe as its designed to be used by demuxers, those usually will have a single thread operating it.

These functions will take refs on the passed #GstPad<!-- -->s.

Aside from reducing the user's code size, the main advantage of using this helper struct is to follow the standard rules for #GstFlowReturn combination. These rules are:

gst.types.FlowReturn.Error or below, GST_FLOW_NOT_NEGOTIATED and GST_FLOW_FLUSHING are returned immediately from the gstbase.flow_combiner.FlowCombiner.updateFlow function.

struct GstFlowCombiner