GstVideo.VideoAggregator

g GObject.InitiallyUnowned GObject.InitiallyUnowned Gst.Object Gst.Object GObject.InitiallyUnowned->Gst.Object GObject.Object GObject.Object GObject.Object->GObject.InitiallyUnowned Gst.Element Gst.Element GstBase.Aggregator GstBase.Aggregator Gst.Element->GstBase.Aggregator Gst.Object->Gst.Element GstVideo.VideoAggregator GstVideo.VideoAggregator GstBase.Aggregator->GstVideo.VideoAggregator

Subclasses:

None

Methods

Inherited:

GstBase.Aggregator (16), Gst.Element (82), Gst.Object (27), GObject.Object (37)

Structs:

Gst.ElementClass (10), GObject.ObjectClass (5)

get_execution_task_pool ()

Virtual Methods

Inherited:

GstBase.Aggregator (22), Gst.Element (16), Gst.Object (1), GObject.Object (7)

do_aggregate_frames (outbuffer)

do_create_output_buffer (outbuffer)

do_find_best_format (downstream_caps, best_info)

do_update_caps (caps)

Properties

Inherited:

GstBase.Aggregator (5), Gst.Object (2)

Name

Type

Flags

Short Description

force-live

bool

r/w/co

Always operate in live mode and aggregate on timeout regardless of whether any live sources are linked upstream

Signals

Inherited:

GstBase.Aggregator (1), Gst.Element (3), Gst.Object (1), GObject.Object (1)

Fields

Inherited:

GstBase.Aggregator (1), Gst.Element (3), Gst.Object (1), GObject.Object (1)

Name

Type

Access

Description

aggregator

GstBase.Aggregator

r

info

GstVideo.VideoInfo

r

The GstVideo.VideoInfo representing the currently set srcpad caps.

Class Details

class GstVideo.VideoAggregator(**kwargs)
Bases:

GstBase.Aggregator

Abstract:

Yes

Structure:

GstVideo.VideoAggregatorClass

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 GstVideo.VideoAggregatorPad.

New in version 1.16.

get_execution_task_pool()[source]
Returns:

the Gst.TaskPool that can be used by subclasses for performing concurrent operations

Return type:

Gst.TaskPool

The returned Gst.TaskPool is used internally for performing parallel video format conversions/scaling/etc during the #GstVideoAggregatorPadClass::prepare_frame_start() process. Subclasses can add their own operation to perform using the returned Gst.TaskPool during #GstVideoAggregatorClass::aggregate_frames().

New in version 1.20.

do_aggregate_frames(outbuffer) virtual
Parameters:

outbuffer (Gst.Buffer) –

Return type:

Gst.FlowReturn

Lets subclasses aggregate frames that are ready. Subclasses should iterate the Gst.Element.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.

do_create_output_buffer(outbuffer) virtual
Parameters:

outbuffer (Gst.Buffer) –

Return type:

Gst.FlowReturn

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

do_find_best_format(downstream_caps, best_info) virtual
Parameters:
Return type:

at_least_one_alpha: bool

do_update_caps(caps) virtual
Parameters:

caps (Gst.Caps) –

Return type:

Gst.Caps

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

Property Details

GstVideo.VideoAggregator.props.force_live
Name:

force-live

Type:

bool

Default Value:

False

Flags:

READABLE, WRITABLE, CONSTRUCT_ONLY

Causes the element to aggregate on a timeout even when no live source is connected to its sinks. See GstBase.Aggregator :min-upstream-latency for a companion property: in the vast majority of cases where you plan to plug in live sources with a non-zero latency, you should set it to a non-zero value.

New in version 1.22.