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)
–
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)
–
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)
–
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
–
outbuffer
–
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:
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:
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
–
outbuffer
–
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:
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:
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
–
downstream_caps
–
best_info
–
at_least_one_alpha
–
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:
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:
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
–
caps
–
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:
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:
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)
–
GstVideo.VideoAggregatorConvertPadClass
Attributes
parent_class
(GstVideo.VideoAggregatorPadClass)
–
GstVideo.VideoAggregatorConvertPadClass
Attributes
parent_class
(GstVideo.VideoAggregatorPadClass)
–
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:
pad
–
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.
Parameters:
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.
Parameters:
Properties
Virtual Methods
create_conversion_info
create_conversion_info (GstVideoAggregatorConvertPad * pad, GstVideoAggregator * agg, GstVideoInfo * conversion_info)
Parameters:
pad
–
agg
–
conversion_info
–
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:
do_create_conversion_info
def do_create_conversion_info (pad, agg, conversion_info):
#python implementation of the 'create_conversion_info' virtual method
Parameters:
GstVideoAggregatorPad
GObject ╰──GInitiallyUnowned ╰──GstObject ╰──GstPad ╰──GstAggregatorPad ╰──GstVideoAggregatorPad ╰──GstVideoAggregatorConvertPad
Members
parent
(GstAggregatorPad)
–
info
(GstVideoInfo)
–
The GstVideoInfo currently set on the pad
Class structure
GstVideoAggregatorPadClass
Fields
parent_class
(GstAggregatorPadClass)
–
_gst_reserved
(gpointer *)
–
GstVideo.VideoAggregatorPadClass
Attributes
parent_class
(GstBase.AggregatorPadClass)
–
_gst_reserved
([ Object ])
–
GstVideo.VideoAggregatorPadClass
Attributes
parent_class
(GstBase.AggregatorPadClass)
–
_gst_reserved
([ object ])
–
GstVideo.VideoAggregatorPad
GObject.Object ╰──GObject.InitiallyUnowned ╰──Gst.Object ╰──Gst.Pad ╰──GstBase.AggregatorPad ╰──GstVideo.VideoAggregatorPad ╰──GstVideo.VideoAggregatorConvertPad
Members
parent
(GstBase.AggregatorPad)
–
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)
–
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:
pad
–
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.
Parameters:
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.
Parameters:
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:
pad
–
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.
Parameters:
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.
Parameters:
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:
pad
–
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.
Parameters:
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.
Parameters:
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
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:
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:
Properties
Virtual Methods
clean_frame
clean_frame (GstVideoAggregatorPad * pad, GstVideoAggregator * videoaggregator, GstVideoFrame * prepared_frame)
clean the frame previously prepared in prepare_frame
Parameters:
pad
–
videoaggregator
–
prepared_frame
–
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:
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:
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
–
videoaggregator
–
buffer
–
prepared_frame
–
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:
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:
update_conversion_info
update_conversion_info (GstVideoAggregatorPad * pad)
Called when either the input or output formats have changed.
Parameters:
pad
–
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:
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:
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