The returned #GstTaskPool 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 #GstTaskPool during #GstVideoAggregatorClass::aggregate_frames().
This method will push the provided output buffer downstream. If needed, mandatory events such as stream-start, caps, and segment events will be sent before pushing the buffer.
This method will push the provided output buffer list downstream. If needed, mandatory events such as stream-start, caps, and segment events will be sent before pushing the buffer.
Lets #GstAggregator sub-classes get the memory allocator acquired by the base class and its params.
Subclasses may use the return value to inform whether they should return gst.types.FlowReturn.Eos from their aggregate implementation.
Retrieves the latency values reported by self in response to the latency query, or GST_CLOCK_TIME_NONE if there is not live source connected and the element will not wait for the clock.
Negotiates src pad caps with downstream elements. Unmarks GST_PAD_FLAG_NEED_RECONFIGURE in any case. But marks it again if #GstAggregatorClass::negotiate fails.
Use this function to determine what input buffers will be aggregated to produce the next output buffer. This should only be called from a #GstAggregator::samples-selected handler, and can be used to precisely control aggregating parameters for a given set of input samples.
Subclasses should call this when they have prepared the buffers they will aggregate for each of their sink pads, but before using any of the properties of the pads that govern *how* aggregation should be performed, for example z-index for video aggregators.
Subclasses should call this at construction time in order for self to aggregate on a timeout even when no live source is connected.
Subclasses should call this when they don't want to time out waiting for a pad that hasn't yet received any buffers in live mode.
Lets #GstAggregator sub-classes tell the baseclass what their internal latency is. Will also post a LATENCY message on the bus so the pipeline can reconfigure its global latency if the values changed.
Sets the caps to be used on the src pad.
This is a simple #GstAggregatorClass::get_next_time implementation that just looks at the #GstSegment on the srcpad of the aggregator and bases the next time on the running time there.
Subclasses should use this to update the segment on their source pad, instead of directly pushing new segment events downstream.
Connect to SamplesSelected signal.
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.