GstVideoAggregator

VideoAggregator can accept AYUV, ARGB and BGRA video streams. For each of the requested sink pads it will compare the incoming geometry and framerate to define the output parameters. Indeed output video frames will have the geometry of the biggest incoming video stream and the framerate of the fastest incoming one.

VideoAggregator will do colorspace conversion.

Zorder for each input stream can be configured on the GstVideoAggregatorPad.

GstVideoAggregator

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──GstAggregator
                    ╰──GstVideoAggregator

Members

aggregator (GstAggregator) –
No description available
info (GstVideoInfo) –

The GstVideoInfo representing the currently set srcpad caps.


Class structure

GstVideoAggregatorClass


GstVideo.VideoAggregatorClass


GstVideo.VideoAggregatorClass


GstVideo.VideoAggregator

GObject.Object
    ╰──GObject.InitiallyUnowned
        ╰──Gst.Object
            ╰──Gst.Element
                ╰──GstBase.Aggregator
                    ╰──GstVideo.VideoAggregator

Members

aggregator (GstBase.Aggregator) –
No description available
info (GstVideo.VideoInfo) –

The GstVideo.VideoInfo representing the currently set srcpad caps.


GstVideo.VideoAggregator

GObject.Object
    ╰──GObject.InitiallyUnowned
        ╰──Gst.Object
            ╰──Gst.Element
                ╰──GstBase.Aggregator
                    ╰──GstVideo.VideoAggregator

Members

aggregator (GstBase.Aggregator) –
No description available
info (GstVideo.VideoInfo) –

The GstVideo.VideoInfo representing the currently set srcpad caps.


Virtual Methods

aggregate_frames

GstFlowReturn
aggregate_frames (GstVideoAggregator * videoaggregator,
                  GstBuffer * outbuffer)

Lets subclasses aggregate frames that are ready. Subclasses should iterate the GstElement.sinkpads and use the already mapped GstVideoFrame from gst_video_aggregator_pad_get_prepared_frame or directly use the GstBuffer from gst_video_aggregator_pad_get_current_buffer if it needs to map the buffer in a special way. The result of the aggregation should land in outbuffer.

Parameters:

videoaggregator
No description available
outbuffer
No description available
Returns
No description available

vfunc_aggregate_frames

function vfunc_aggregate_frames(videoaggregator: GstVideo.VideoAggregator, outbuffer: Gst.Buffer): {
    // javascript implementation of the 'aggregate_frames' virtual method
}

Lets subclasses aggregate frames that are ready. Subclasses should iterate the GstElement.sinkpads and use the already mapped GstVideo.VideoFrame from GstVideo.VideoAggregatorPad.prototype.get_prepared_frame or directly use the Gst.Buffer from GstVideo.VideoAggregatorPad.prototype.get_current_buffer if it needs to map the buffer in a special way. The result of the aggregation should land in outbuffer.

Parameters:

videoaggregator (GstVideo.VideoAggregator)
No description available
outbuffer (Gst.Buffer)
No description available
Returns (Gst.FlowReturn)
No description available

do_aggregate_frames

def do_aggregate_frames (videoaggregator, outbuffer):
    #python implementation of the 'aggregate_frames' virtual method

Lets subclasses aggregate frames that are ready. Subclasses should iterate the GstElement.sinkpads and use the already mapped GstVideo.VideoFrame from GstVideo.VideoAggregatorPad.get_prepared_frame or directly use the Gst.Buffer from GstVideo.VideoAggregatorPad.get_current_buffer if it needs to map the buffer in a special way. The result of the aggregation should land in outbuffer.

Parameters:

videoaggregator (GstVideo.VideoAggregator)
No description available
outbuffer (Gst.Buffer)
No description available
Returns (Gst.FlowReturn)
No description available

create_output_buffer

GstFlowReturn
create_output_buffer (GstVideoAggregator * videoaggregator,
                      GstBuffer ** outbuffer)

Optional. Lets subclasses provide a GstBuffer to be used as outbuffer of the aggregate_frames vmethod.

Parameters:

videoaggregator
No description available
outbuffer
No description available
Returns
No description available

vfunc_create_output_buffer

function vfunc_create_output_buffer(videoaggregator: GstVideo.VideoAggregator, outbuffer: Gst.Buffer): {
    // javascript implementation of the 'create_output_buffer' virtual method
}

Optional. Lets subclasses provide a Gst.Buffer to be used as outbuffer of the aggregate_frames vmethod.

Parameters:

videoaggregator (GstVideo.VideoAggregator)
No description available
outbuffer (Gst.Buffer)
No description available
Returns (Gst.FlowReturn)
No description available

do_create_output_buffer

def do_create_output_buffer (videoaggregator, outbuffer):
    #python implementation of the 'create_output_buffer' virtual method

Optional. Lets subclasses provide a Gst.Buffer to be used as outbuffer of the aggregate_frames vmethod.

Parameters:

videoaggregator (GstVideo.VideoAggregator)
No description available
outbuffer (Gst.Buffer)
No description available
Returns (Gst.FlowReturn)
No description available

find_best_format

find_best_format (GstVideoAggregator * vagg,
                  GstCaps * downstream_caps,
                  GstVideoInfo * best_info,
                  gboolean * at_least_one_alpha)

Optional. Lets subclasses decide of the best common format to use.

Parameters:

vagg
No description available
downstream_caps
No description available
best_info
No description available
at_least_one_alpha
No description available

vfunc_find_best_format

function vfunc_find_best_format(vagg: GstVideo.VideoAggregator, downstream_caps: Gst.Caps, best_info: GstVideo.VideoInfo, at_least_one_alpha: Number): {
    // javascript implementation of the 'find_best_format' virtual method
}

Optional. Lets subclasses decide of the best common format to use.

Parameters:

No description available
downstream_caps (Gst.Caps)
No description available
best_info (GstVideo.VideoInfo)
No description available
at_least_one_alpha (Number)
No description available

do_find_best_format

def do_find_best_format (vagg, downstream_caps, best_info, at_least_one_alpha):
    #python implementation of the 'find_best_format' virtual method

Optional. Lets subclasses decide of the best common format to use.

Parameters:

No description available
downstream_caps (Gst.Caps)
No description available
best_info (GstVideo.VideoInfo)
No description available
at_least_one_alpha (bool)
No description available

update_caps

GstCaps *
update_caps (GstVideoAggregator * videoaggregator,
             GstCaps * caps)

Optional. Lets subclasses update the GstCaps representing the src pad caps before usage. Return NULL to indicate failure.

Parameters:

videoaggregator
No description available
caps
No description available
Returns
No description available

vfunc_update_caps

function vfunc_update_caps(videoaggregator: GstVideo.VideoAggregator, caps: Gst.Caps): {
    // javascript implementation of the 'update_caps' virtual method
}

Optional. Lets subclasses update the Gst.Caps representing the src pad caps before usage. Return null to indicate failure.

Parameters:

videoaggregator (GstVideo.VideoAggregator)
No description available
caps (Gst.Caps)
No description available
Returns (Gst.Caps)
No description available

do_update_caps

def do_update_caps (videoaggregator, caps):
    #python implementation of the 'update_caps' virtual method

Optional. Lets subclasses update the Gst.Caps representing the src pad caps before usage. Return None to indicate failure.

Parameters:

videoaggregator (GstVideo.VideoAggregator)
No description available
caps (Gst.Caps)
No description available
Returns (Gst.Caps)
No description available

GstVideoAggregatorConvertPad

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstPad
                ╰──GstAggregatorPad
                    ╰──GstVideoAggregatorPad
                        ╰──GstVideoAggregatorConvertPad

An implementation of GstPad that can be used with GstVideoAggregator.

See GstVideoAggregator for more details.


Class structure

GstVideoAggregatorConvertPadClass

Fields
parent_class (GstVideoAggregatorPadClass) –
No description available

GstVideo.VideoAggregatorConvertPadClass

Attributes
No description available

GstVideo.VideoAggregatorConvertPadClass

Attributes
No description available

GstVideo.VideoAggregatorConvertPad

GObject.Object
    ╰──GObject.InitiallyUnowned
        ╰──Gst.Object
            ╰──Gst.Pad
                ╰──GstBase.AggregatorPad
                    ╰──GstVideo.VideoAggregatorPad
                        ╰──GstVideo.VideoAggregatorConvertPad

An implementation of GstPad that can be used with GstVideo.VideoAggregator.

See GstVideo.VideoAggregator for more details.


GstVideo.VideoAggregatorConvertPad

GObject.Object
    ╰──GObject.InitiallyUnowned
        ╰──Gst.Object
            ╰──Gst.Pad
                ╰──GstBase.AggregatorPad
                    ╰──GstVideo.VideoAggregatorPad
                        ╰──GstVideo.VideoAggregatorConvertPad

An implementation of GstPad that can be used with GstVideo.VideoAggregator.

See GstVideo.VideoAggregator for more details.


Methods

gst_video_aggregator_convert_pad_update_conversion_info

gst_video_aggregator_convert_pad_update_conversion_info (GstVideoAggregatorConvertPad * pad)

Requests the pad to check and update the converter before the next usage to update for any changes that have happened.

Parameters:


GstVideo.VideoAggregatorConvertPad.prototype.update_conversion_info

function GstVideo.VideoAggregatorConvertPad.prototype.update_conversion_info(): {
    // javascript wrapper for 'gst_video_aggregator_convert_pad_update_conversion_info'
}

Requests the pad to check and update the converter before the next usage to update for any changes that have happened.


GstVideo.VideoAggregatorConvertPad.update_conversion_info

def GstVideo.VideoAggregatorConvertPad.update_conversion_info (self):
    #python wrapper for 'gst_video_aggregator_convert_pad_update_conversion_info'

Requests the pad to check and update the converter before the next usage to update for any changes that have happened.


Properties

converter-config

“converter-config” GstStructure *

Flags : Read / Write


converter-config

“converter-config” Gst.Structure

Flags : Read / Write


converter_config

“self.props.converter_config” Gst.Structure

Flags : Read / Write


Virtual Methods

create_conversion_info

create_conversion_info (GstVideoAggregatorConvertPad * pad,
                        GstVideoAggregator * agg,
                        GstVideoInfo * conversion_info)

Parameters:

pad
No description available
agg
No description available
conversion_info
No description available

vfunc_create_conversion_info

function vfunc_create_conversion_info(pad: GstVideo.VideoAggregatorConvertPad, agg: GstVideo.VideoAggregator, conversion_info: GstVideo.VideoInfo): {
    // javascript implementation of the 'create_conversion_info' virtual method
}

Parameters:

No description available
No description available
conversion_info (GstVideo.VideoInfo)
No description available

do_create_conversion_info

def do_create_conversion_info (pad, agg, conversion_info):
    #python implementation of the 'create_conversion_info' virtual method

Parameters:

No description available
No description available
conversion_info (GstVideo.VideoInfo)
No description available

GstVideoAggregatorPad

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstPad
                ╰──GstAggregatorPad
                    ╰──GstVideoAggregatorPad
                        ╰──GstVideoAggregatorConvertPad

Members

parent (GstAggregatorPad) –
No description available
info (GstVideoInfo) –

The GstVideoInfo currently set on the pad


Class structure

GstVideoAggregatorPadClass

Fields
parent_class (GstAggregatorPadClass) –
No description available
_gst_reserved (gpointer *) –
No description available

GstVideo.VideoAggregatorPadClass

Attributes
parent_class (GstBase.AggregatorPadClass) –
No description available
_gst_reserved ([ Object ]) –
No description available

GstVideo.VideoAggregatorPadClass

Attributes
parent_class (GstBase.AggregatorPadClass) –
No description available
_gst_reserved ([ object ]) –
No description available

GstVideo.VideoAggregatorPad

GObject.Object
    ╰──GObject.InitiallyUnowned
        ╰──Gst.Object
            ╰──Gst.Pad
                ╰──GstBase.AggregatorPad
                    ╰──GstVideo.VideoAggregatorPad
                        ╰──GstVideo.VideoAggregatorConvertPad

Members

parent (GstBase.AggregatorPad) –
No description available
info (GstVideo.VideoInfo) –

The GstVideo.VideoInfo currently set on the pad


GstVideo.VideoAggregatorPad

GObject.Object
    ╰──GObject.InitiallyUnowned
        ╰──Gst.Object
            ╰──Gst.Pad
                ╰──GstBase.AggregatorPad
                    ╰──GstVideo.VideoAggregatorPad
                        ╰──GstVideo.VideoAggregatorConvertPad

Members

parent (GstBase.AggregatorPad) –
No description available
info (GstVideo.VideoInfo) –

The GstVideo.VideoInfo currently set on the pad


Methods

gst_video_aggregator_pad_get_current_buffer

GstBuffer *
gst_video_aggregator_pad_get_current_buffer (GstVideoAggregatorPad * pad)

Returns the currently queued buffer that is going to be used for the current output frame.

This must only be called from the aggregate_frames virtual method, or from the prepare_frame virtual method of the aggregator pads.

The return value is only valid until aggregate_frames or prepare_frame returns.

Parameters:

Returns ( [transfer: none])

The currently queued buffer


GstVideo.VideoAggregatorPad.prototype.get_current_buffer

function GstVideo.VideoAggregatorPad.prototype.get_current_buffer(): {
    // javascript wrapper for 'gst_video_aggregator_pad_get_current_buffer'
}

Returns the currently queued buffer that is going to be used for the current output frame.

This must only be called from the vfunc_aggregate_frames virtual method, or from the vfunc_prepare_frame virtual method of the aggregator pads.

The return value is only valid until vfunc_aggregate_frames or vfunc_prepare_frame returns.

Returns (Gst.Buffer)

The currently queued buffer


GstVideo.VideoAggregatorPad.get_current_buffer

def GstVideo.VideoAggregatorPad.get_current_buffer (self):
    #python wrapper for 'gst_video_aggregator_pad_get_current_buffer'

Returns the currently queued buffer that is going to be used for the current output frame.

This must only be called from the do_aggregate_frames virtual method, or from the do_prepare_frame virtual method of the aggregator pads.

The return value is only valid until do_aggregate_frames or do_prepare_frame returns.

Returns (Gst.Buffer)

The currently queued buffer


gst_video_aggregator_pad_get_prepared_frame

GstVideoFrame *
gst_video_aggregator_pad_get_prepared_frame (GstVideoAggregatorPad * pad)

Returns the currently prepared video frame that has to be aggregated into the current output frame.

This must only be called from the aggregate_frames virtual method, or from the prepare_frame virtual method of the aggregator pads.

The return value is only valid until aggregate_frames or prepare_frame returns.

Parameters:

Returns ( [transfer: none])

The currently prepared video frame


GstVideo.VideoAggregatorPad.prototype.get_prepared_frame

function GstVideo.VideoAggregatorPad.prototype.get_prepared_frame(): {
    // javascript wrapper for 'gst_video_aggregator_pad_get_prepared_frame'
}

Returns the currently prepared video frame that has to be aggregated into the current output frame.

This must only be called from the vfunc_aggregate_frames virtual method, or from the vfunc_prepare_frame virtual method of the aggregator pads.

The return value is only valid until vfunc_aggregate_frames or vfunc_prepare_frame returns.

Returns (GstVideo.VideoFrame)

The currently prepared video frame


GstVideo.VideoAggregatorPad.get_prepared_frame

def GstVideo.VideoAggregatorPad.get_prepared_frame (self):
    #python wrapper for 'gst_video_aggregator_pad_get_prepared_frame'

Returns the currently prepared video frame that has to be aggregated into the current output frame.

This must only be called from the do_aggregate_frames virtual method, or from the do_prepare_frame virtual method of the aggregator pads.

The return value is only valid until do_aggregate_frames or do_prepare_frame returns.

Returns (GstVideo.VideoFrame)

The currently prepared video frame


gst_video_aggregator_pad_has_current_buffer

gboolean
gst_video_aggregator_pad_has_current_buffer (GstVideoAggregatorPad * pad)

Checks if the pad currently has a buffer queued that is going to be used for the current output frame.

This must only be called from the aggregate_frames virtual method, or from the prepare_frame virtual method of the aggregator pads.

Parameters:

Returns

TRUE if the pad has currently a buffer queued


GstVideo.VideoAggregatorPad.prototype.has_current_buffer

function GstVideo.VideoAggregatorPad.prototype.has_current_buffer(): {
    // javascript wrapper for 'gst_video_aggregator_pad_has_current_buffer'
}

Checks if the pad currently has a buffer queued that is going to be used for the current output frame.

This must only be called from the vfunc_aggregate_frames virtual method, or from the vfunc_prepare_frame virtual method of the aggregator pads.

Returns (Number)

true if the pad has currently a buffer queued


GstVideo.VideoAggregatorPad.has_current_buffer

def GstVideo.VideoAggregatorPad.has_current_buffer (self):
    #python wrapper for 'gst_video_aggregator_pad_has_current_buffer'

Checks if the pad currently has a buffer queued that is going to be used for the current output frame.

This must only be called from the do_aggregate_frames virtual method, or from the do_prepare_frame virtual method of the aggregator pads.

Returns (bool)

True if the pad has currently a buffer queued


gst_video_aggregator_pad_set_needs_alpha

gst_video_aggregator_pad_set_needs_alpha (GstVideoAggregatorPad * pad,
                                          gboolean needs_alpha)

Allows selecting that this pad requires an output format with alpha

Parameters:

needs_alpha

TRUE if this pad requires alpha output


GstVideo.VideoAggregatorPad.prototype.set_needs_alpha

function GstVideo.VideoAggregatorPad.prototype.set_needs_alpha(needs_alpha: Number): {
    // javascript wrapper for 'gst_video_aggregator_pad_set_needs_alpha'
}

Allows selecting that this pad requires an output format with alpha

Parameters:

needs_alpha (Number)

true if this pad requires alpha output


GstVideo.VideoAggregatorPad.set_needs_alpha

def GstVideo.VideoAggregatorPad.set_needs_alpha (self, needs_alpha):
    #python wrapper for 'gst_video_aggregator_pad_set_needs_alpha'

Allows selecting that this pad requires an output format with alpha

Parameters:

needs_alpha (bool)

True if this pad requires alpha output


Properties

max-last-buffer-repeat

“max-last-buffer-repeat” guint64

Flags : Read / Write


max-last-buffer-repeat

“max-last-buffer-repeat” Number

Flags : Read / Write


max_last_buffer_repeat

“self.props.max_last_buffer_repeat” int

Flags : Read / Write


repeat-after-eos

“repeat-after-eos” gboolean

Flags : Read / Write


repeat-after-eos

“repeat-after-eos” Number

Flags : Read / Write


repeat_after_eos

“self.props.repeat_after_eos” bool

Flags : Read / Write


zorder

“zorder” guint

Flags : Read / Write


zorder

“zorder” Number

Flags : Read / Write


zorder

“self.props.zorder” int

Flags : Read / Write


Virtual Methods

clean_frame

clean_frame (GstVideoAggregatorPad * pad,
             GstVideoAggregator * videoaggregator,
             GstVideoFrame * prepared_frame)

clean the frame previously prepared in prepare_frame

Parameters:

pad
No description available
videoaggregator
No description available
prepared_frame
No description available

vfunc_clean_frame

function vfunc_clean_frame(pad: GstVideo.VideoAggregatorPad, videoaggregator: GstVideo.VideoAggregator, prepared_frame: GstVideo.VideoFrame): {
    // javascript implementation of the 'clean_frame' virtual method
}

clean the frame previously prepared in prepare_frame

Parameters:

No description available
videoaggregator (GstVideo.VideoAggregator)
No description available
prepared_frame (GstVideo.VideoFrame)
No description available

do_clean_frame

def do_clean_frame (pad, videoaggregator, prepared_frame):
    #python implementation of the 'clean_frame' virtual method

clean the frame previously prepared in prepare_frame

Parameters:

No description available
videoaggregator (GstVideo.VideoAggregator)
No description available
prepared_frame (GstVideo.VideoFrame)
No description available

prepare_frame

gboolean
prepare_frame (GstVideoAggregatorPad * pad,
               GstVideoAggregator * videoaggregator,
               GstBuffer * buffer,
               GstVideoFrame * prepared_frame)

Prepare the frame from the pad buffer and sets it to prepared_frame

Parameters:

pad
No description available
videoaggregator
No description available
buffer
No description available
prepared_frame
No description available
Returns
No description available

vfunc_prepare_frame

function vfunc_prepare_frame(pad: GstVideo.VideoAggregatorPad, videoaggregator: GstVideo.VideoAggregator, buffer: Gst.Buffer, prepared_frame: GstVideo.VideoFrame): {
    // javascript implementation of the 'prepare_frame' virtual method
}

Prepare the frame from the pad buffer and sets it to prepared_frame

Parameters:

No description available
videoaggregator (GstVideo.VideoAggregator)
No description available
buffer (Gst.Buffer)
No description available
prepared_frame (GstVideo.VideoFrame)
No description available
Returns (Number)
No description available

do_prepare_frame

def do_prepare_frame (pad, videoaggregator, buffer, prepared_frame):
    #python implementation of the 'prepare_frame' virtual method

Prepare the frame from the pad buffer and sets it to prepared_frame

Parameters:

No description available
videoaggregator (GstVideo.VideoAggregator)
No description available
buffer (Gst.Buffer)
No description available
prepared_frame (GstVideo.VideoFrame)
No description available
Returns (bool)
No description available

update_conversion_info

update_conversion_info (GstVideoAggregatorPad * pad)

Called when either the input or output formats have changed.

Parameters:

pad
No description available

vfunc_update_conversion_info

function vfunc_update_conversion_info(pad: GstVideo.VideoAggregatorPad): {
    // javascript implementation of the 'update_conversion_info' virtual method
}

Called when either the input or output formats have changed.

Parameters:

No description available

do_update_conversion_info

def do_update_conversion_info (pad):
    #python implementation of the 'update_conversion_info' virtual method

Called when either the input or output formats have changed.

Parameters:

No description available

Function Macros

GST_VIDEO_AGGREGATOR_CAST

#define GST_VIDEO_AGGREGATOR_CAST(obj) ((GstVideoAggregator *)(obj))

GST_VIDEO_AGGREGATOR_PAD_CAST

#define GST_VIDEO_AGGREGATOR_PAD_CAST(obj) ((GstVideoAggregatorPad *)(obj))

The results of the search are