GstFlowCombiner

Utility struct to help handling GstFlowReturn combination. Useful for GstElements 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 gst_flow_combiner_add_pad. The new GstPad is stored with a default value of GST_FLOW_OK.

In case you want a GstPad to be removed, use gst_flow_combiner_remove_pad.

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

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_FLOW_ERROR or below, GST_FLOW_NOT_NEGOTIATED and GST_FLOW_FLUSHING are returned immediately from the gst_flow_combiner_update_flow function.

GstFlowCombiner

Opaque helper structure to aggregate flow returns.


GstBase.FlowCombiner

Opaque helper structure to aggregate flow returns.


GstBase.FlowCombiner

Opaque helper structure to aggregate flow returns.


Constructors

gst_flow_combiner_new

GstFlowCombiner *
gst_flow_combiner_new ()

Creates a new GstFlowCombiner, use gst_flow_combiner_free to free it.

Returns

A new GstFlowCombiner

Since : 1.4


GstBase.FlowCombiner.prototype.new

function GstBase.FlowCombiner.prototype.new(): {
    // javascript wrapper for 'gst_flow_combiner_new'
}

Creates a new GstBase.FlowCombiner, use GstBase.FlowCombiner.prototype.free to free it.

Since : 1.4


GstBase.FlowCombiner.new

def GstBase.FlowCombiner.new ():
    #python wrapper for 'gst_flow_combiner_new'

Creates a new GstBase.FlowCombiner, use GstBase.FlowCombiner.free to free it.

Since : 1.4


Methods

gst_flow_combiner_add_pad

gst_flow_combiner_add_pad (GstFlowCombiner * combiner,
                           GstPad * pad)

Adds a new GstPad to the GstFlowCombiner.

Parameters:

combiner

the GstFlowCombiner

pad ( [transfer: none])

the GstPad that is being added

Since : 1.4


GstBase.FlowCombiner.prototype.add_pad

function GstBase.FlowCombiner.prototype.add_pad(pad: Gst.Pad): {
    // javascript wrapper for 'gst_flow_combiner_add_pad'
}

Adds a new Gst.Pad to the GstBase.FlowCombiner.

Parameters:

pad (Gst.Pad)

the Gst.Pad that is being added

Since : 1.4


GstBase.FlowCombiner.add_pad

def GstBase.FlowCombiner.add_pad (self, pad):
    #python wrapper for 'gst_flow_combiner_add_pad'

Adds a new Gst.Pad to the GstBase.FlowCombiner.

Parameters:

pad (Gst.Pad)

the Gst.Pad that is being added

Since : 1.4


gst_flow_combiner_clear

gst_flow_combiner_clear (GstFlowCombiner * combiner)

Removes all pads from a GstFlowCombiner and resets it to its initial state.

Parameters:

combiner

the GstFlowCombiner to clear

Since : 1.6


GstBase.FlowCombiner.prototype.clear

function GstBase.FlowCombiner.prototype.clear(): {
    // javascript wrapper for 'gst_flow_combiner_clear'
}

Removes all pads from a GstBase.FlowCombiner and resets it to its initial state.

Parameters:

combiner (GstBase.FlowCombiner)

the GstBase.FlowCombiner to clear

Since : 1.6


GstBase.FlowCombiner.clear

def GstBase.FlowCombiner.clear (self):
    #python wrapper for 'gst_flow_combiner_clear'

Removes all pads from a GstBase.FlowCombiner and resets it to its initial state.

Parameters:

combiner (GstBase.FlowCombiner)

the GstBase.FlowCombiner to clear

Since : 1.6


gst_flow_combiner_free

gst_flow_combiner_free (GstFlowCombiner * combiner)

Frees a GstFlowCombiner struct and all its internal data.

Parameters:

combiner

the GstFlowCombiner to free

Since : 1.4


GstBase.FlowCombiner.prototype.free

function GstBase.FlowCombiner.prototype.free(): {
    // javascript wrapper for 'gst_flow_combiner_free'
}

Frees a GstBase.FlowCombiner struct and all its internal data.

Parameters:

combiner (GstBase.FlowCombiner)

the GstBase.FlowCombiner to free

Since : 1.4


GstBase.FlowCombiner.free

def GstBase.FlowCombiner.free (self):
    #python wrapper for 'gst_flow_combiner_free'

Frees a GstBase.FlowCombiner struct and all its internal data.

Parameters:

combiner (GstBase.FlowCombiner)

the GstBase.FlowCombiner to free

Since : 1.4


gst_flow_combiner_ref

GstFlowCombiner *
gst_flow_combiner_ref (GstFlowCombiner * combiner)

Increments the reference count on the GstFlowCombiner.

Parameters:

combiner

the GstFlowCombiner to add a reference to.

Returns

the GstFlowCombiner.

Since : 1.12.1


GstBase.FlowCombiner.prototype.ref

function GstBase.FlowCombiner.prototype.ref(): {
    // javascript wrapper for 'gst_flow_combiner_ref'
}

Increments the reference count on the GstBase.FlowCombiner.

Parameters:

combiner (GstBase.FlowCombiner)

the GstBase.FlowCombiner to add a reference to.

Since : 1.12.1


GstBase.FlowCombiner.ref

def GstBase.FlowCombiner.ref (self):
    #python wrapper for 'gst_flow_combiner_ref'

Increments the reference count on the GstBase.FlowCombiner.

Parameters:

combiner (GstBase.FlowCombiner)

the GstBase.FlowCombiner to add a reference to.

Since : 1.12.1


gst_flow_combiner_remove_pad

gst_flow_combiner_remove_pad (GstFlowCombiner * combiner,
                              GstPad * pad)

Removes a GstPad from the GstFlowCombiner.

Parameters:

combiner

the GstFlowCombiner

pad ( [transfer: none])

the GstPad to remove

Since : 1.4


GstBase.FlowCombiner.prototype.remove_pad

function GstBase.FlowCombiner.prototype.remove_pad(pad: Gst.Pad): {
    // javascript wrapper for 'gst_flow_combiner_remove_pad'
}

Removes a Gst.Pad from the GstBase.FlowCombiner.

Parameters:

pad (Gst.Pad)

the Gst.Pad to remove

Since : 1.4


GstBase.FlowCombiner.remove_pad

def GstBase.FlowCombiner.remove_pad (self, pad):
    #python wrapper for 'gst_flow_combiner_remove_pad'

Removes a Gst.Pad from the GstBase.FlowCombiner.

Parameters:

pad (Gst.Pad)

the Gst.Pad to remove

Since : 1.4


gst_flow_combiner_reset

gst_flow_combiner_reset (GstFlowCombiner * combiner)

Reset flow combiner and all pads to their initial state without removing pads.

Parameters:

combiner

the GstFlowCombiner to clear

Since : 1.6


GstBase.FlowCombiner.prototype.reset

function GstBase.FlowCombiner.prototype.reset(): {
    // javascript wrapper for 'gst_flow_combiner_reset'
}

Reset flow combiner and all pads to their initial state without removing pads.

Parameters:

combiner (GstBase.FlowCombiner)

the GstBase.FlowCombiner to clear

Since : 1.6


GstBase.FlowCombiner.reset

def GstBase.FlowCombiner.reset (self):
    #python wrapper for 'gst_flow_combiner_reset'

Reset flow combiner and all pads to their initial state without removing pads.

Parameters:

combiner (GstBase.FlowCombiner)

the GstBase.FlowCombiner to clear

Since : 1.6


gst_flow_combiner_unref

gst_flow_combiner_unref (GstFlowCombiner * combiner)

Decrements the reference count on the GstFlowCombiner.

Parameters:

combiner

the GstFlowCombiner to unreference.

Since : 1.12.1


GstBase.FlowCombiner.prototype.unref

function GstBase.FlowCombiner.prototype.unref(): {
    // javascript wrapper for 'gst_flow_combiner_unref'
}

Decrements the reference count on the GstBase.FlowCombiner.

Parameters:

combiner (GstBase.FlowCombiner)

the GstBase.FlowCombiner to unreference.

Since : 1.12.1


GstBase.FlowCombiner.unref

def GstBase.FlowCombiner.unref (self):
    #python wrapper for 'gst_flow_combiner_unref'

Decrements the reference count on the GstBase.FlowCombiner.

Parameters:

combiner (GstBase.FlowCombiner)

the GstBase.FlowCombiner to unreference.

Since : 1.12.1


gst_flow_combiner_update_flow

GstFlowReturn
gst_flow_combiner_update_flow (GstFlowCombiner * combiner,
                               GstFlowReturn fret)

Computes the combined flow return for the pads in it.

The GstFlowReturn parameter should be the last flow return update for a pad in this GstFlowCombiner. It will use this value to be able to shortcut some combinations and avoid looking over all pads again. e.g. The last combined return is the same as the latest obtained GstFlowReturn.

Parameters:

combiner

the GstFlowCombiner

fret

the latest GstFlowReturn received for a pad in this GstFlowCombiner

Returns

The combined GstFlowReturn

Since : 1.4


GstBase.FlowCombiner.prototype.update_flow

function GstBase.FlowCombiner.prototype.update_flow(fret: Gst.FlowReturn): {
    // javascript wrapper for 'gst_flow_combiner_update_flow'
}

Computes the combined flow return for the pads in it.

The Gst.FlowReturn parameter should be the last flow return update for a pad in this GstBase.FlowCombiner. It will use this value to be able to shortcut some combinations and avoid looking over all pads again. e.g. The last combined return is the same as the latest obtained Gst.FlowReturn.

Parameters:

fret (Gst.FlowReturn)

the latest Gst.FlowReturn received for a pad in this GstBase.FlowCombiner

Returns (Gst.FlowReturn)

The combined Gst.FlowReturn

Since : 1.4


GstBase.FlowCombiner.update_flow

def GstBase.FlowCombiner.update_flow (self, fret):
    #python wrapper for 'gst_flow_combiner_update_flow'

Computes the combined flow return for the pads in it.

The Gst.FlowReturn parameter should be the last flow return update for a pad in this GstBase.FlowCombiner. It will use this value to be able to shortcut some combinations and avoid looking over all pads again. e.g. The last combined return is the same as the latest obtained Gst.FlowReturn.

Parameters:

fret (Gst.FlowReturn)

the latest Gst.FlowReturn received for a pad in this GstBase.FlowCombiner

Returns (Gst.FlowReturn)

The combined Gst.FlowReturn

Since : 1.4


gst_flow_combiner_update_pad_flow

GstFlowReturn
gst_flow_combiner_update_pad_flow (GstFlowCombiner * combiner,
                                   GstPad * pad,
                                   GstFlowReturn fret)

Sets the provided pad's last flow return to provided value and computes the combined flow return for the pads in it.

The GstFlowReturn parameter should be the last flow return update for a pad in this GstFlowCombiner. It will use this value to be able to shortcut some combinations and avoid looking over all pads again. e.g. The last combined return is the same as the latest obtained GstFlowReturn.

Parameters:

combiner

the GstFlowCombiner

pad

the GstPad whose GstFlowReturn to update

fret

the latest GstFlowReturn received for a pad in this GstFlowCombiner

Returns

The combined GstFlowReturn

Since : 1.6


GstBase.FlowCombiner.prototype.update_pad_flow

function GstBase.FlowCombiner.prototype.update_pad_flow(pad: Gst.Pad, fret: Gst.FlowReturn): {
    // javascript wrapper for 'gst_flow_combiner_update_pad_flow'
}

Sets the provided pad's last flow return to provided value and computes the combined flow return for the pads in it.

The Gst.FlowReturn parameter should be the last flow return update for a pad in this GstBase.FlowCombiner. It will use this value to be able to shortcut some combinations and avoid looking over all pads again. e.g. The last combined return is the same as the latest obtained Gst.FlowReturn.

Parameters:

pad (Gst.Pad)

the Gst.Pad whose Gst.FlowReturn to update

fret (Gst.FlowReturn)

the latest Gst.FlowReturn received for a pad in this GstBase.FlowCombiner

Returns (Gst.FlowReturn)

The combined Gst.FlowReturn

Since : 1.6


GstBase.FlowCombiner.update_pad_flow

def GstBase.FlowCombiner.update_pad_flow (self, pad, fret):
    #python wrapper for 'gst_flow_combiner_update_pad_flow'

Sets the provided pad's last flow return to provided value and computes the combined flow return for the pads in it.

The Gst.FlowReturn parameter should be the last flow return update for a pad in this GstBase.FlowCombiner. It will use this value to be able to shortcut some combinations and avoid looking over all pads again. e.g. The last combined return is the same as the latest obtained Gst.FlowReturn.

Parameters:

pad (Gst.Pad)

the Gst.Pad whose Gst.FlowReturn to update

fret (Gst.FlowReturn)

the latest Gst.FlowReturn received for a pad in this GstBase.FlowCombiner

Returns (Gst.FlowReturn)

The combined Gst.FlowReturn

Since : 1.6


Constants

GST_TYPE_FLOW_COMBINER

#define GST_TYPE_FLOW_COMBINER gst_flow_combiner_get_type()

The results of the search are