GstAggregator

Manages a set of pads with the purpose of aggregating their buffers. Control is given to the subclass when all pads have data.

  • Base class for mixers and muxers. Subclasses should at least implement the aggregate virtual method.

  • Installs a GstPadChainFunction, a GstPadEventFullFunction and a GstPadQueryFunction to queue all serialized data packets per sink pad. Subclasses should not overwrite those, but instead implement sink_event and sink_query as needed.

  • When data is queued on all pads, the aggregate vmethod is called.

  • One can peek at the data on any given GstAggregatorPad with the gst_aggregator_pad_peek_buffer method, and remove it from the pad with the gst_aggregator_pad_pop_buffer () method. When a buffer has been taken with pop_buffer (), a new buffer can be queued on that pad.

  • When gst_aggregator_pad_peek_buffer or gst_aggregator_pad_has_buffer are called, a reference is taken to the returned buffer, which stays valid until either:

    Subsequent calls to gst_aggregator_pad_peek_buffer or gst_aggregator_pad_has_buffer return / check the same buffer that was returned / checked, until one of the conditions listed above is met.

    Subclasses are only allowed to call these methods from the aggregate thread.

  • If the subclass wishes to push a buffer downstream in its aggregate implementation, it should do so through the gst_aggregator_finish_buffer method. This method will take care of sending and ordering mandatory events such as stream start, caps and segment. Buffer lists can also be pushed out with gst_aggregator_finish_buffer_list.

  • Same goes for EOS events, which should not be pushed directly by the subclass, it should instead return GST_FLOW_EOS in its aggregate implementation.

  • Note that the aggregator logic regarding gap event handling is to turn these into gap buffers with matching PTS and duration. It will also flag these buffers with GST_BUFFER_FLAG_GAP and GST_BUFFER_FLAG_DROPPABLE to ease their identification and subsequent processing. In addition, if the gap event was flagged with GST_GAP_FLAG_MISSING_DATA, a custom meta is added to the resulting gap buffer (GstAggregatorMissingDataMeta).

  • Subclasses must use (a subclass of) GstAggregatorPad for both their sink and source pads. See gst_element_class_add_static_pad_template_with_gtype.

This class used to live in gst-plugins-bad and was moved to core.

GstAggregator

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

Aggregator base class object structure.

Members

parent (GstElement) –
No description available
srcpad (GstPad *) –

the aggregator's source pad

Since : 1.14


Class structure

GstAggregatorClass

The aggregator base class will handle in a thread-safe way all manners of concurrent flushes, seeks, pad additions and removals, leaving to the subclass the responsibility of clipping buffers, and aggregating buffers in the way the implementor sees fit.

It will also take care of event ordering (stream-start, segment, eos).

Basically, a simple implementation will override aggregate, and call _finish_buffer from inside that function.

Fields
parent_class (GstElementClass) –
No description available

Since : 1.14


GstBase.AggregatorClass

The aggregator base class will handle in a thread-safe way all manners of concurrent flushes, seeks, pad additions and removals, leaving to the subclass the responsibility of clipping buffers, and aggregating buffers in the way the implementor sees fit.

It will also take care of event ordering (stream-start, segment, eos).

Basically, a simple implementation will override aggregate, and call _finish_buffer from inside that function.

Attributes
parent_class (Gst.ElementClass) –
No description available

Since : 1.14


GstBase.AggregatorClass

The aggregator base class will handle in a thread-safe way all manners of concurrent flushes, seeks, pad additions and removals, leaving to the subclass the responsibility of clipping buffers, and aggregating buffers in the way the implementor sees fit.

It will also take care of event ordering (stream-start, segment, eos).

Basically, a simple implementation will override aggregate, and call _finish_buffer from inside that function.

Attributes
parent_class (Gst.ElementClass) –
No description available

Since : 1.14


GstBase.Aggregator

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

Aggregator base class object structure.

Members

parent (Gst.Element) –
No description available
srcpad (Gst.Pad) –

the aggregator's source pad

Since : 1.14


GstBase.Aggregator

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

Aggregator base class object structure.

Members

parent (Gst.Element) –
No description available
srcpad (Gst.Pad) –

the aggregator's source pad

Since : 1.14


Methods

gst_aggregator_finish_buffer

GstFlowReturn
gst_aggregator_finish_buffer (GstAggregator * aggregator,
                              GstBuffer * buffer)

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.

Parameters:

aggregator

The GstAggregator

buffer ( [transfer: full])

the GstBuffer to push.

Returns
No description available

GstBase.Aggregator.prototype.finish_buffer

function GstBase.Aggregator.prototype.finish_buffer(buffer: Gst.Buffer): {
    // javascript wrapper for 'gst_aggregator_finish_buffer'
}

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.

Parameters:

aggregator (GstBase.Aggregator)

The GstBase.Aggregator

buffer (Gst.Buffer)

the Gst.Buffer to push.

Returns (Gst.FlowReturn)
No description available

GstBase.Aggregator.finish_buffer

def GstBase.Aggregator.finish_buffer (self, buffer):
    #python wrapper for 'gst_aggregator_finish_buffer'

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.

Parameters:

aggregator (GstBase.Aggregator)

The GstBase.Aggregator

buffer (Gst.Buffer)

the Gst.Buffer to push.

Returns (Gst.FlowReturn)
No description available

gst_aggregator_finish_buffer_list

GstFlowReturn
gst_aggregator_finish_buffer_list (GstAggregator * aggregator,
                                   GstBufferList * bufferlist)

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.

Parameters:

aggregator

The GstAggregator

bufferlist ( [transfer: full])

the GstBufferList to push.

Returns
No description available

Since : 1.18


GstBase.Aggregator.prototype.finish_buffer_list

function GstBase.Aggregator.prototype.finish_buffer_list(bufferlist: Gst.BufferList): {
    // javascript wrapper for 'gst_aggregator_finish_buffer_list'
}

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.

Parameters:

aggregator (GstBase.Aggregator)

The GstBase.Aggregator

bufferlist (Gst.BufferList)

the Gst.BufferList to push.

Returns (Gst.FlowReturn)
No description available

Since : 1.18


GstBase.Aggregator.finish_buffer_list

def GstBase.Aggregator.finish_buffer_list (self, bufferlist):
    #python wrapper for 'gst_aggregator_finish_buffer_list'

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.

Parameters:

aggregator (GstBase.Aggregator)

The GstBase.Aggregator

bufferlist (Gst.BufferList)

the Gst.BufferList to push.

Returns (Gst.FlowReturn)
No description available

Since : 1.18


gst_aggregator_get_allocator

gst_aggregator_get_allocator (GstAggregator * self,
                              GstAllocator ** allocator,
                              GstAllocationParams * params)

Lets GstAggregator sub-classes get the memory allocator acquired by the base class and its params.

Unref the allocator after use it.

Parameters:

self

a GstAggregator

allocator ( [out][optional][nullable][transfer: full])

the GstAllocator used

params ( [out][optional])

the GstAllocationParams of allocator


GstBase.Aggregator.prototype.get_allocator

function GstBase.Aggregator.prototype.get_allocator(): {
    // javascript wrapper for 'gst_aggregator_get_allocator'
}

Lets GstBase.Aggregator sub-classes get the memory allocator acquired by the base class and its params.

Unref the allocator after use it.

Parameters:


GstBase.Aggregator.get_allocator

def GstBase.Aggregator.get_allocator (self):
    #python wrapper for 'gst_aggregator_get_allocator'

Lets GstBase.Aggregator sub-classes get the memory allocator acquired by the base class and its params.

Unref the allocator after use it.

Parameters:


gst_aggregator_get_buffer_pool

GstBufferPool *
gst_aggregator_get_buffer_pool (GstAggregator * self)

Parameters:

self

a GstAggregator

Returns ( [transfer: full][nullable])

the instance of the GstBufferPool used by trans; free it after use it


GstBase.Aggregator.prototype.get_buffer_pool

function GstBase.Aggregator.prototype.get_buffer_pool(): {
    // javascript wrapper for 'gst_aggregator_get_buffer_pool'
}

Parameters:

Returns (Gst.BufferPool)

the instance of the Gst.BufferPool used by trans; free it after use it


GstBase.Aggregator.get_buffer_pool

def GstBase.Aggregator.get_buffer_pool (self):
    #python wrapper for 'gst_aggregator_get_buffer_pool'

Parameters:

Returns (Gst.BufferPool)

the instance of the Gst.BufferPool used by trans; free it after use it


gst_aggregator_get_force_live

gboolean
gst_aggregator_get_force_live (GstAggregator * self)

Subclasses may use the return value to inform whether they should return GST_FLOW_EOS from their aggregate implementation.

Parameters:

self
No description available
Returns

whether live status was forced on self.

Since : 1.22


GstBase.Aggregator.prototype.get_force_live

function GstBase.Aggregator.prototype.get_force_live(): {
    // javascript wrapper for 'gst_aggregator_get_force_live'
}

Subclasses may use the return value to inform whether they should return Gst.FlowReturn.EOS from their aggregate implementation.

Parameters:

self (GstBase.Aggregator)
No description available
Returns (Number)

whether live status was forced on self.

Since : 1.22


GstBase.Aggregator.get_force_live

def GstBase.Aggregator.get_force_live (self):
    #python wrapper for 'gst_aggregator_get_force_live'

Subclasses may use the return value to inform whether they should return Gst.FlowReturn.EOS from their aggregate implementation.

Parameters:

self (GstBase.Aggregator)
No description available
Returns (bool)

whether live status was forced on self.

Since : 1.22


gst_aggregator_get_ignore_inactive_pads

gboolean
gst_aggregator_get_ignore_inactive_pads (GstAggregator * self)

Parameters:

self
No description available
Returns

whether inactive pads will not be waited on

Since : 1.20


GstBase.Aggregator.prototype.get_ignore_inactive_pads

function GstBase.Aggregator.prototype.get_ignore_inactive_pads(): {
    // javascript wrapper for 'gst_aggregator_get_ignore_inactive_pads'
}

Parameters:

self (GstBase.Aggregator)
No description available
Returns (Number)

whether inactive pads will not be waited on

Since : 1.20


GstBase.Aggregator.get_ignore_inactive_pads

def GstBase.Aggregator.get_ignore_inactive_pads (self):
    #python wrapper for 'gst_aggregator_get_ignore_inactive_pads'

Parameters:

self (GstBase.Aggregator)
No description available
Returns (bool)

whether inactive pads will not be waited on

Since : 1.20


gst_aggregator_get_latency

GstClockTime
gst_aggregator_get_latency (GstAggregator * self)

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.

Typically only called by subclasses.

Parameters:

self

a GstAggregator

Returns

The latency or GST_CLOCK_TIME_NONE if the element does not sync


GstBase.Aggregator.prototype.get_latency

function GstBase.Aggregator.prototype.get_latency(): {
    // javascript wrapper for 'gst_aggregator_get_latency'
}

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.

Typically only called by subclasses.

Parameters:

Returns (Number)

The latency or Gst.CLOCK_TIME_NONE if the element does not sync


GstBase.Aggregator.get_latency

def GstBase.Aggregator.get_latency (self):
    #python wrapper for 'gst_aggregator_get_latency'

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.

Typically only called by subclasses.

Parameters:

Returns (int)

The latency or Gst.CLOCK_TIME_NONE if the element does not sync


gst_aggregator_negotiate

gboolean
gst_aggregator_negotiate (GstAggregator * self)

Negotiates src pad caps with downstream elements. Unmarks GST_PAD_FLAG_NEED_RECONFIGURE in any case. But marks it again if negotiate fails.

Parameters:

self

a GstAggregator

Returns

TRUE if the negotiation succeeded, else FALSE.

Since : 1.18


GstBase.Aggregator.prototype.negotiate

function GstBase.Aggregator.prototype.negotiate(): {
    // javascript wrapper for 'gst_aggregator_negotiate'
}

Negotiates src pad caps with downstream elements. Unmarks GST_PAD_FLAG_NEED_RECONFIGURE in any case. But marks it again if vfunc_negotiate fails.

Parameters:

Returns (Number)

true if the negotiation succeeded, else false.

Since : 1.18


GstBase.Aggregator.negotiate

def GstBase.Aggregator.negotiate (self):
    #python wrapper for 'gst_aggregator_negotiate'

Negotiates src pad caps with downstream elements. Unmarks GST_PAD_FLAG_NEED_RECONFIGURE in any case. But marks it again if do_negotiate fails.

Parameters:

Returns (bool)

True if the negotiation succeeded, else False.

Since : 1.18


gst_aggregator_peek_next_sample

GstSample *
gst_aggregator_peek_next_sample (GstAggregator * self,
                                 GstAggregatorPad * pad)

Use this function to determine what input buffers will be aggregated to produce the next output buffer. This should only be called from a samples-selected handler, and can be used to precisely control aggregating parameters for a given set of input samples.

Parameters:

self
No description available
pad
No description available
Returns ( [nullable][transfer: full])

The sample that is about to be aggregated. It may hold a GstBuffer or a GstBufferList. The contents of its info structure is subclass-dependent, and documented on a subclass basis. The buffers held by the sample are not writable.

Since : 1.18


GstBase.Aggregator.prototype.peek_next_sample

function GstBase.Aggregator.prototype.peek_next_sample(pad: GstBase.AggregatorPad): {
    // javascript wrapper for 'gst_aggregator_peek_next_sample'
}

Use this function to determine what input buffers will be aggregated to produce the next output buffer. This should only be called from a samples-selected handler, and can be used to precisely control aggregating parameters for a given set of input samples.

Parameters:

self (GstBase.Aggregator)
No description available
No description available
Returns (Gst.Sample)

The sample that is about to be aggregated. It may hold a Gst.Buffer or a Gst.BufferList. The contents of its info structure is subclass-dependent, and documented on a subclass basis. The buffers held by the sample are not writable.

Since : 1.18


GstBase.Aggregator.peek_next_sample

def GstBase.Aggregator.peek_next_sample (self, pad):
    #python wrapper for 'gst_aggregator_peek_next_sample'

Use this function to determine what input buffers will be aggregated to produce the next output buffer. This should only be called from a samples-selected handler, and can be used to precisely control aggregating parameters for a given set of input samples.

Parameters:

self (GstBase.Aggregator)
No description available
No description available
Returns (Gst.Sample)

The sample that is about to be aggregated. It may hold a Gst.Buffer or a Gst.BufferList. The contents of its info structure is subclass-dependent, and documented on a subclass basis. The buffers held by the sample are not writable.

Since : 1.18


gst_aggregator_selected_samples

gst_aggregator_selected_samples (GstAggregator * self,
                                 GstClockTime pts,
                                 GstClockTime dts,
                                 GstClockTime duration,
                                 GstStructure * info)

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.

If gst_aggregator_update_segment is used by the subclass, it MUST be called before gst_aggregator_selected_samples.

This function MUST only be called from the aggregate() function.

Parameters:

self
No description available
pts

The presentation timestamp of the next output buffer

dts

The decoding timestamp of the next output buffer

duration

The duration of the next output buffer

info ( [nullable])

a GstStructure containing additional information

Since : 1.18


GstBase.Aggregator.prototype.selected_samples

function GstBase.Aggregator.prototype.selected_samples(pts: Number, dts: Number, duration: Number, info: Gst.Structure): {
    // javascript wrapper for 'gst_aggregator_selected_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.

If GstBase.Aggregator.prototype.update_segment is used by the subclass, it MUST be called before GstBase.Aggregator.prototype.selected_samples.

This function MUST only be called from the vfunc_aggregate() function.

Parameters:

self (GstBase.Aggregator)
No description available
pts (Number)

The presentation timestamp of the next output buffer

dts (Number)

The decoding timestamp of the next output buffer

duration (Number)

The duration of the next output buffer

info (Gst.Structure)

a Gst.Structure containing additional information

Since : 1.18


GstBase.Aggregator.selected_samples

def GstBase.Aggregator.selected_samples (self, pts, dts, duration, info):
    #python wrapper for 'gst_aggregator_selected_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.

If GstBase.Aggregator.update_segment is used by the subclass, it MUST be called before GstBase.Aggregator.selected_samples.

This function MUST only be called from the do_aggregate() function.

Parameters:

self (GstBase.Aggregator)
No description available
pts (int)

The presentation timestamp of the next output buffer

dts (int)

The decoding timestamp of the next output buffer

duration (int)

The duration of the next output buffer

info (Gst.Structure)

a Gst.Structure containing additional information

Since : 1.18


gst_aggregator_set_force_live

gst_aggregator_set_force_live (GstAggregator * self,
                               gboolean force_live)

Subclasses should call this at construction time in order for self to aggregate on a timeout even when no live source is connected.

Parameters:

self
No description available
force_live
No description available

Since : 1.22


GstBase.Aggregator.prototype.set_force_live

function GstBase.Aggregator.prototype.set_force_live(force_live: Number): {
    // javascript wrapper for 'gst_aggregator_set_force_live'
}

Subclasses should call this at construction time in order for self to aggregate on a timeout even when no live source is connected.

Parameters:

self (GstBase.Aggregator)
No description available
force_live (Number)
No description available

Since : 1.22


GstBase.Aggregator.set_force_live

def GstBase.Aggregator.set_force_live (self, force_live):
    #python wrapper for 'gst_aggregator_set_force_live'

Subclasses should call this at construction time in order for self to aggregate on a timeout even when no live source is connected.

Parameters:

self (GstBase.Aggregator)
No description available
force_live (bool)
No description available

Since : 1.22


gst_aggregator_set_ignore_inactive_pads

gst_aggregator_set_ignore_inactive_pads (GstAggregator * self,
                                         gboolean ignore)

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.

GstAggregator will still wait once on each newly-added pad, making sure upstream has had a fair chance to start up.

Parameters:

self
No description available
ignore

whether inactive pads should not be waited on

Since : 1.20


GstBase.Aggregator.prototype.set_ignore_inactive_pads

function GstBase.Aggregator.prototype.set_ignore_inactive_pads(ignore: Number): {
    // javascript wrapper for 'gst_aggregator_set_ignore_inactive_pads'
}

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.

GstBase.Aggregator will still wait once on each newly-added pad, making sure upstream has had a fair chance to start up.

Parameters:

self (GstBase.Aggregator)
No description available
ignore (Number)

whether inactive pads should not be waited on

Since : 1.20


GstBase.Aggregator.set_ignore_inactive_pads

def GstBase.Aggregator.set_ignore_inactive_pads (self, ignore):
    #python wrapper for 'gst_aggregator_set_ignore_inactive_pads'

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.

GstBase.Aggregator will still wait once on each newly-added pad, making sure upstream has had a fair chance to start up.

Parameters:

self (GstBase.Aggregator)
No description available
ignore (bool)

whether inactive pads should not be waited on

Since : 1.20


gst_aggregator_set_latency

gst_aggregator_set_latency (GstAggregator * self,
                            GstClockTime min_latency,
                            GstClockTime max_latency)

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.

Parameters:

self

a GstAggregator

min_latency

minimum latency

max_latency

maximum latency


GstBase.Aggregator.prototype.set_latency

function GstBase.Aggregator.prototype.set_latency(min_latency: Number, max_latency: Number): {
    // javascript wrapper for 'gst_aggregator_set_latency'
}

Lets GstBase.Aggregator 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.

Parameters:

min_latency (Number)

minimum latency

max_latency (Number)

maximum latency


GstBase.Aggregator.set_latency

def GstBase.Aggregator.set_latency (self, min_latency, max_latency):
    #python wrapper for 'gst_aggregator_set_latency'

Lets GstBase.Aggregator 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.

Parameters:

min_latency (int)

minimum latency

max_latency (int)

maximum latency


gst_aggregator_set_src_caps

gst_aggregator_set_src_caps (GstAggregator * self,
                             GstCaps * caps)

Sets the caps to be used on the src pad.

Parameters:

self

The GstAggregator

caps

The GstCaps to set on the src pad.


GstBase.Aggregator.prototype.set_src_caps

function GstBase.Aggregator.prototype.set_src_caps(caps: Gst.Caps): {
    // javascript wrapper for 'gst_aggregator_set_src_caps'
}

Sets the caps to be used on the src pad.

Parameters:

caps (Gst.Caps)

The Gst.Caps to set on the src pad.


GstBase.Aggregator.set_src_caps

def GstBase.Aggregator.set_src_caps (self, caps):
    #python wrapper for 'gst_aggregator_set_src_caps'

Sets the caps to be used on the src pad.

Parameters:

caps (Gst.Caps)

The Gst.Caps to set on the src pad.


gst_aggregator_simple_get_next_time

GstClockTime
gst_aggregator_simple_get_next_time (GstAggregator * self)

This is a simple 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.

This is the desired behaviour in most cases where you have a live source and you have a dead line based aggregator subclass.

Parameters:

self

A GstAggregator

Returns

The running time based on the position

Since : 1.16


GstBase.Aggregator.prototype.simple_get_next_time

function GstBase.Aggregator.prototype.simple_get_next_time(): {
    // javascript wrapper for 'gst_aggregator_simple_get_next_time'
}

This is a simple vfunc_get_next_time implementation that just looks at the Gst.Segment on the srcpad of the aggregator and bases the next time on the running time there.

This is the desired behaviour in most cases where you have a live source and you have a dead line based aggregator subclass.

Parameters:

Returns (Number)

The running time based on the position

Since : 1.16


GstBase.Aggregator.simple_get_next_time

def GstBase.Aggregator.simple_get_next_time (self):
    #python wrapper for 'gst_aggregator_simple_get_next_time'

This is a simple do_get_next_time implementation that just looks at the Gst.Segment on the srcpad of the aggregator and bases the next time on the running time there.

This is the desired behaviour in most cases where you have a live source and you have a dead line based aggregator subclass.

Parameters:

Returns (int)

The running time based on the position

Since : 1.16


gst_aggregator_update_segment

gst_aggregator_update_segment (GstAggregator * self,
                               const GstSegment * segment)

Subclasses should use this to update the segment on their source pad, instead of directly pushing new segment events downstream.

Subclasses MUST call this before gst_aggregator_selected_samples, if it is used at all.

Parameters:

self
No description available
segment
No description available

Since : 1.18


GstBase.Aggregator.prototype.update_segment

function GstBase.Aggregator.prototype.update_segment(segment: Gst.Segment): {
    // javascript wrapper for 'gst_aggregator_update_segment'
}

Subclasses should use this to update the segment on their source pad, instead of directly pushing new segment events downstream.

Subclasses MUST call this before GstBase.Aggregator.prototype.selected_samples, if it is used at all.

Parameters:

self (GstBase.Aggregator)
No description available
segment (Gst.Segment)
No description available

Since : 1.18


GstBase.Aggregator.update_segment

def GstBase.Aggregator.update_segment (self, segment):
    #python wrapper for 'gst_aggregator_update_segment'

Subclasses should use this to update the segment on their source pad, instead of directly pushing new segment events downstream.

Subclasses MUST call this before GstBase.Aggregator.selected_samples, if it is used at all.

Parameters:

self (GstBase.Aggregator)
No description available
segment (Gst.Segment)
No description available

Since : 1.18


Signals

samples-selected

samples_selected_callback (GstAggregator * self,
                           GstSegment * segment,
                           guint64 pts,
                           guint64 dts,
                           guint64 duration,
                           GstStructure * info,
                           gpointer user_data)

Signals that the GstAggregator subclass has selected the next set of input samples it will aggregate. Handlers may call gst_aggregator_peek_next_sample at that point.

Parameters:

self
No description available
segment

The GstSegment the next output buffer is part of

pts

The presentation timestamp of the next output buffer

dts

The decoding timestamp of the next output buffer

duration

The duration of the next output buffer

info ( [nullable])

a GstStructure containing additional information

user_data
No description available

Flags: Run First

Since : 1.18


samples-selected

function samples_selected_callback(self: GstBase.Aggregator, segment: Gst.Segment, pts: Number, dts: Number, duration: Number, info: Gst.Structure, user_data: Object): {
    // javascript callback for the 'samples-selected' signal
}

Signals that the GstBase.Aggregator subclass has selected the next set of input samples it will aggregate. Handlers may call GstBase.Aggregator.prototype.peek_next_sample at that point.

Parameters:

self (GstBase.Aggregator)
No description available
segment (Gst.Segment)

The Gst.Segment the next output buffer is part of

pts (Number)

The presentation timestamp of the next output buffer

dts (Number)

The decoding timestamp of the next output buffer

duration (Number)

The duration of the next output buffer

info (Gst.Structure)

a Gst.Structure containing additional information

user_data (Object)
No description available

Flags: Run First

Since : 1.18


samples-selected

def samples_selected_callback (self, segment, pts, dts, duration, info, *user_data):
    #python callback for the 'samples-selected' signal

Signals that the GstBase.Aggregator subclass has selected the next set of input samples it will aggregate. Handlers may call GstBase.Aggregator.peek_next_sample at that point.

Parameters:

self (GstBase.Aggregator)
No description available
segment (Gst.Segment)

The Gst.Segment the next output buffer is part of

pts (int)

The presentation timestamp of the next output buffer

dts (int)

The decoding timestamp of the next output buffer

duration (int)

The duration of the next output buffer

info (Gst.Structure)

a Gst.Structure containing additional information

user_data (variadic)
No description available

Flags: Run First

Since : 1.18


Properties

emit-signals

“emit-signals” gboolean

Enables the emission of signals such as samples-selected

Flags : Read / Write

Since : 1.18


emit-signals

“emit-signals” Number

Enables the emission of signals such as samples-selected

Flags : Read / Write

Since : 1.18


emit_signals

“self.props.emit_signals” bool

Enables the emission of signals such as samples-selected

Flags : Read / Write

Since : 1.18


latency

“latency” guint64

Flags : Read / Write


latency

“latency” Number

Flags : Read / Write


latency

“self.props.latency” int

Flags : Read / Write


min-upstream-latency

“min-upstream-latency” guint64

Force minimum upstream latency (in nanoseconds). When sources with a higher latency are expected to be plugged in dynamically after the aggregator has started playing, this allows overriding the minimum latency reported by the initial source(s). This is only taken into account when larger than the actually reported minimum latency.

Flags : Read / Write

Since : 1.16


min-upstream-latency

“min-upstream-latency” Number

Force minimum upstream latency (in nanoseconds). When sources with a higher latency are expected to be plugged in dynamically after the aggregator has started playing, this allows overriding the minimum latency reported by the initial source(s). This is only taken into account when larger than the actually reported minimum latency.

Flags : Read / Write

Since : 1.16


min_upstream_latency

“self.props.min_upstream_latency” int

Force minimum upstream latency (in nanoseconds). When sources with a higher latency are expected to be plugged in dynamically after the aggregator has started playing, this allows overriding the minimum latency reported by the initial source(s). This is only taken into account when larger than the actually reported minimum latency.

Flags : Read / Write

Since : 1.16


start-time

“start-time” guint64

Flags : Read / Write


start-time

“start-time” Number

Flags : Read / Write


start_time

“self.props.start_time” int

Flags : Read / Write


start-time-selection

“start-time-selection” GstAggregatorStartTimeSelection *

Flags : Read / Write


start-time-selection

“start-time-selection” GstBase.AggregatorStartTimeSelection

Flags : Read / Write


start_time_selection

“self.props.start_time_selection” GstBase.AggregatorStartTimeSelection

Flags : Read / Write


Virtual Methods

aggregate

GstFlowReturn
aggregate (GstAggregator * aggregator,
           gboolean timeout)

Mandatory. Called when buffers are queued on all sinkpads. Classes should iterate the GstElement->sinkpads and peek or steal buffers from the GstAggregatorPad. If the subclass returns GST_FLOW_EOS, sending of the eos event will be taken care of. Once / if a buffer has been constructed from the aggregated buffers, the subclass should call _finish_buffer.

Parameters:

aggregator
No description available
timeout
No description available
Returns
No description available

vfunc_aggregate

function vfunc_aggregate(aggregator: GstBase.Aggregator, timeout: Number): {
    // javascript implementation of the 'aggregate' virtual method
}

Mandatory. Called when buffers are queued on all sinkpads. Classes should iterate the GstElement->sinkpads and peek or steal buffers from the GstBase.AggregatorPad. If the subclass returns GST_FLOW_EOS, sending of the eos event will be taken care of. Once / if a buffer has been constructed from the aggregated buffers, the subclass should call _finish_buffer.

Parameters:

aggregator (GstBase.Aggregator)
No description available
timeout (Number)
No description available
Returns (Gst.FlowReturn)
No description available

do_aggregate

def do_aggregate (aggregator, timeout):
    #python implementation of the 'aggregate' virtual method

Mandatory. Called when buffers are queued on all sinkpads. Classes should iterate the GstElement->sinkpads and peek or steal buffers from the GstBase.AggregatorPad. If the subclass returns GST_FLOW_EOS, sending of the eos event will be taken care of. Once / if a buffer has been constructed from the aggregated buffers, the subclass should call _finish_buffer.

Parameters:

aggregator (GstBase.Aggregator)
No description available
timeout (bool)
No description available
Returns (Gst.FlowReturn)
No description available

clip

GstBuffer *
clip (GstAggregator * aggregator,
      GstAggregatorPad * aggregator_pad,
      GstBuffer * buf)

Optional. Called when a buffer is received on a sink pad, the task of clipping it and translating it to the current segment falls on the subclass. The function should use the segment of data and the negotiated media type on the pad to perform clipping of input buffer. This function takes ownership of buf and should output a buffer or return NULL in if the buffer should be dropped.

Parameters:

aggregator
No description available
aggregator_pad
No description available
buf
No description available
Returns
No description available

vfunc_clip

function vfunc_clip(aggregator: GstBase.Aggregator, aggregator_pad: GstBase.AggregatorPad, buf: Gst.Buffer): {
    // javascript implementation of the 'clip' virtual method
}

Optional. Called when a buffer is received on a sink pad, the task of clipping it and translating it to the current segment falls on the subclass. The function should use the segment of data and the negotiated media type on the pad to perform clipping of input buffer. This function takes ownership of buf and should output a buffer or return NULL in if the buffer should be dropped.

Parameters:

aggregator (GstBase.Aggregator)
No description available
aggregator_pad (GstBase.AggregatorPad)
No description available
buf (Gst.Buffer)
No description available
Returns (Gst.Buffer)
No description available

do_clip

def do_clip (aggregator, aggregator_pad, buf):
    #python implementation of the 'clip' virtual method

Optional. Called when a buffer is received on a sink pad, the task of clipping it and translating it to the current segment falls on the subclass. The function should use the segment of data and the negotiated media type on the pad to perform clipping of input buffer. This function takes ownership of buf and should output a buffer or return NULL in if the buffer should be dropped.

Parameters:

aggregator (GstBase.Aggregator)
No description available
aggregator_pad (GstBase.AggregatorPad)
No description available
buf (Gst.Buffer)
No description available
Returns (Gst.Buffer)
No description available

create_new_pad

GstAggregatorPad *
create_new_pad (GstAggregator * self,
                GstPadTemplate * templ,
                const gchar * req_name,
                const GstCaps * caps)

Optional. Called when a new pad needs to be created. Allows subclass that don't have a single sink pad template to provide a pad based on the provided information.

Parameters:

self
No description available
templ
No description available
req_name
No description available
caps
No description available
Returns
No description available

decide_allocation

gboolean
decide_allocation (GstAggregator * self,
                   GstQuery * query)

Optional. Allows the subclass to influence the allocation choices. Setup the allocation parameters for allocating output buffers. The passed in query contains the result of the downstream allocation query.

Parameters:

self
No description available
query
No description available
Returns
No description available

vfunc_decide_allocation

function vfunc_decide_allocation(self: GstBase.Aggregator, query: Gst.Query): {
    // javascript implementation of the 'decide_allocation' virtual method
}

Optional. Allows the subclass to influence the allocation choices. Setup the allocation parameters for allocating output buffers. The passed in query contains the result of the downstream allocation query.

Parameters:

self (GstBase.Aggregator)
No description available
query (Gst.Query)
No description available
Returns (Number)
No description available

do_decide_allocation

def do_decide_allocation (self, query):
    #python implementation of the 'decide_allocation' virtual method

Optional. Allows the subclass to influence the allocation choices. Setup the allocation parameters for allocating output buffers. The passed in query contains the result of the downstream allocation query.

Parameters:

self (GstBase.Aggregator)
No description available
query (Gst.Query)
No description available
Returns (bool)
No description available

finish_buffer

GstFlowReturn
finish_buffer (GstAggregator * aggregator,
               GstBuffer * buffer)

Optional. Called when a subclass calls gst_aggregator_finish_buffer from their aggregate function to push out a buffer. Subclasses can override this to modify or decorate buffers before they get pushed out. This function takes ownership of the buffer passed. Subclasses that override this method should always chain up to the parent class virtual method.

Parameters:

aggregator
No description available
buffer
No description available
Returns
No description available

vfunc_finish_buffer

function vfunc_finish_buffer(aggregator: GstBase.Aggregator, buffer: Gst.Buffer): {
    // javascript implementation of the 'finish_buffer' virtual method
}

Optional. Called when a subclass calls GstBase.Aggregator.prototype.finish_buffer from their aggregate function to push out a buffer. Subclasses can override this to modify or decorate buffers before they get pushed out. This function takes ownership of the buffer passed. Subclasses that override this method should always chain up to the parent class virtual method.

Parameters:

aggregator (GstBase.Aggregator)
No description available
buffer (Gst.Buffer)
No description available
Returns (Gst.FlowReturn)
No description available

do_finish_buffer

def do_finish_buffer (aggregator, buffer):
    #python implementation of the 'finish_buffer' virtual method

Optional. Called when a subclass calls GstBase.Aggregator.finish_buffer from their aggregate function to push out a buffer. Subclasses can override this to modify or decorate buffers before they get pushed out. This function takes ownership of the buffer passed. Subclasses that override this method should always chain up to the parent class virtual method.

Parameters:

aggregator (GstBase.Aggregator)
No description available
buffer (Gst.Buffer)
No description available
Returns (Gst.FlowReturn)
No description available

finish_buffer_list

GstFlowReturn
finish_buffer_list (GstAggregator * aggregator,
                    GstBufferList * bufferlist)

Optional. Equivalent of finish_buffer for buffer lists.

Parameters:

aggregator
No description available
bufferlist
No description available
Returns
No description available

Since : 1.18


vfunc_finish_buffer_list

function vfunc_finish_buffer_list(aggregator: GstBase.Aggregator, bufferlist: Gst.BufferList): {
    // javascript implementation of the 'finish_buffer_list' virtual method
}

Optional. Equivalent of vfunc_finish_buffer for buffer lists.

Parameters:

aggregator (GstBase.Aggregator)
No description available
bufferlist (Gst.BufferList)
No description available
Returns (Gst.FlowReturn)
No description available

Since : 1.18


do_finish_buffer_list

def do_finish_buffer_list (aggregator, bufferlist):
    #python implementation of the 'finish_buffer_list' virtual method

Optional. Equivalent of do_finish_buffer for buffer lists.

Parameters:

aggregator (GstBase.Aggregator)
No description available
bufferlist (Gst.BufferList)
No description available
Returns (Gst.FlowReturn)
No description available

Since : 1.18


fixate_src_caps

GstCaps *
fixate_src_caps (GstAggregator * self,
                 GstCaps * caps)

Optional. Fixate and return the src pad caps provided. The function takes ownership of caps and returns a fixated version of caps. caps is not guaranteed to be writable.

Parameters:

self
No description available
caps
No description available
Returns
No description available

vfunc_fixate_src_caps

function vfunc_fixate_src_caps(self: GstBase.Aggregator, caps: Gst.Caps): {
    // javascript implementation of the 'fixate_src_caps' virtual method
}

Optional. Fixate and return the src pad caps provided. The function takes ownership of caps and returns a fixated version of caps. caps is not guaranteed to be writable.

Parameters:

self (GstBase.Aggregator)
No description available
caps (Gst.Caps)
No description available
Returns (Gst.Caps)
No description available

do_fixate_src_caps

def do_fixate_src_caps (self, caps):
    #python implementation of the 'fixate_src_caps' virtual method

Optional. Fixate and return the src pad caps provided. The function takes ownership of caps and returns a fixated version of caps. caps is not guaranteed to be writable.

Parameters:

self (GstBase.Aggregator)
No description available
caps (Gst.Caps)
No description available
Returns (Gst.Caps)
No description available

flush

GstFlowReturn
flush (GstAggregator * aggregator)

Optional. Called after a successful flushing seek, once all the flush stops have been received. Flush pad-specific data in GstAggregatorPad->flush.

Parameters:

aggregator
No description available
Returns
No description available

vfunc_flush

function vfunc_flush(aggregator: GstBase.Aggregator): {
    // javascript implementation of the 'flush' virtual method
}

Optional. Called after a successful flushing seek, once all the flush stops have been received. Flush pad-specific data in GstBase.AggregatorPad->flush.

Parameters:

aggregator (GstBase.Aggregator)
No description available
Returns (Gst.FlowReturn)
No description available

do_flush

def do_flush (aggregator):
    #python implementation of the 'flush' virtual method

Optional. Called after a successful flushing seek, once all the flush stops have been received. Flush pad-specific data in GstBase.AggregatorPad->flush.

Parameters:

aggregator (GstBase.Aggregator)
No description available
Returns (Gst.FlowReturn)
No description available

get_next_time

GstClockTime
get_next_time (GstAggregator * aggregator)

Optional. Called when the element needs to know the running time of the next rendered buffer for live pipelines. This causes deadline based aggregation to occur. Defaults to returning GST_CLOCK_TIME_NONE causing the element to wait for buffers on all sink pads before aggregating.

Parameters:

aggregator
No description available
Returns
No description available

vfunc_get_next_time

function vfunc_get_next_time(aggregator: GstBase.Aggregator): {
    // javascript implementation of the 'get_next_time' virtual method
}

Optional. Called when the element needs to know the running time of the next rendered buffer for live pipelines. This causes deadline based aggregation to occur. Defaults to returning GST_CLOCK_TIME_NONE causing the element to wait for buffers on all sink pads before aggregating.

Parameters:

aggregator (GstBase.Aggregator)
No description available
Returns (Number)
No description available

do_get_next_time

def do_get_next_time (aggregator):
    #python implementation of the 'get_next_time' virtual method

Optional. Called when the element needs to know the running time of the next rendered buffer for live pipelines. This causes deadline based aggregation to occur. Defaults to returning GST_CLOCK_TIME_NONE causing the element to wait for buffers on all sink pads before aggregating.

Parameters:

aggregator (GstBase.Aggregator)
No description available
Returns (int)
No description available

negotiate

gboolean
negotiate (GstAggregator * self)

Optional. Negotiate the caps with the peer (Since: 1.18).

Parameters:

self
No description available
Returns
No description available

vfunc_negotiate

function vfunc_negotiate(self: GstBase.Aggregator): {
    // javascript implementation of the 'negotiate' virtual method
}

Optional. Negotiate the caps with the peer (Since: 1.18).

Parameters:

self (GstBase.Aggregator)
No description available
Returns (Number)
No description available

do_negotiate

def do_negotiate (self):
    #python implementation of the 'negotiate' virtual method

Optional. Negotiate the caps with the peer (Since: 1.18).

Parameters:

self (GstBase.Aggregator)
No description available
Returns (bool)
No description available

negotiated_src_caps

gboolean
negotiated_src_caps (GstAggregator * self,
                     GstCaps * caps)

Optional. Notifies subclasses what caps format has been negotiated

Parameters:

self
No description available
caps
No description available
Returns
No description available

vfunc_negotiated_src_caps

function vfunc_negotiated_src_caps(self: GstBase.Aggregator, caps: Gst.Caps): {
    // javascript implementation of the 'negotiated_src_caps' virtual method
}

Optional. Notifies subclasses what caps format has been negotiated

Parameters:

self (GstBase.Aggregator)
No description available
caps (Gst.Caps)
No description available
Returns (Number)
No description available

do_negotiated_src_caps

def do_negotiated_src_caps (self, caps):
    #python implementation of the 'negotiated_src_caps' virtual method

Optional. Notifies subclasses what caps format has been negotiated

Parameters:

self (GstBase.Aggregator)
No description available
caps (Gst.Caps)
No description available
Returns (bool)
No description available

peek_next_sample

GstSample *
peek_next_sample (GstAggregator * aggregator,
                  GstAggregatorPad * aggregator_pad)

See gst_aggregator_peek_next_sample.

Parameters:

aggregator
No description available
aggregator_pad
No description available
Returns
No description available

Since : 1.18


vfunc_peek_next_sample

function vfunc_peek_next_sample(aggregator: GstBase.Aggregator, aggregator_pad: GstBase.AggregatorPad): {
    // javascript implementation of the 'peek_next_sample' virtual method
}

See GstBase.Aggregator.prototype.peek_next_sample.

Parameters:

aggregator (GstBase.Aggregator)
No description available
aggregator_pad (GstBase.AggregatorPad)
No description available
Returns (Gst.Sample)
No description available

Since : 1.18


do_peek_next_sample

def do_peek_next_sample (aggregator, aggregator_pad):
    #python implementation of the 'peek_next_sample' virtual method

See GstBase.Aggregator.peek_next_sample.

Parameters:

aggregator (GstBase.Aggregator)
No description available
aggregator_pad (GstBase.AggregatorPad)
No description available
Returns (Gst.Sample)
No description available

Since : 1.18


propose_allocation

gboolean
propose_allocation (GstAggregator * self,
                    GstAggregatorPad * pad,
                    GstQuery * decide_query,
                    GstQuery * query)

Optional. Allows the subclass to handle the allocation query from upstream.

Parameters:

self
No description available
pad
No description available
decide_query
No description available
query
No description available
Returns
No description available

vfunc_propose_allocation

function vfunc_propose_allocation(self: GstBase.Aggregator, pad: GstBase.AggregatorPad, decide_query: Gst.Query, query: Gst.Query): {
    // javascript implementation of the 'propose_allocation' virtual method
}

Optional. Allows the subclass to handle the allocation query from upstream.

Parameters:

self (GstBase.Aggregator)
No description available
No description available
decide_query (Gst.Query)
No description available
query (Gst.Query)
No description available
Returns (Number)
No description available

do_propose_allocation

def do_propose_allocation (self, pad, decide_query, query):
    #python implementation of the 'propose_allocation' virtual method

Optional. Allows the subclass to handle the allocation query from upstream.

Parameters:

self (GstBase.Aggregator)
No description available
No description available
decide_query (Gst.Query)
No description available
query (Gst.Query)
No description available
Returns (bool)
No description available

sink_event

gboolean
sink_event (GstAggregator * aggregator,
            GstAggregatorPad * aggregator_pad,
            GstEvent * event)

Optional. Called when an event is received on a sink pad, the subclass should always chain up.

Parameters:

aggregator
No description available
aggregator_pad
No description available
event
No description available
Returns
No description available

vfunc_sink_event

function vfunc_sink_event(aggregator: GstBase.Aggregator, aggregator_pad: GstBase.AggregatorPad, event: Gst.Event): {
    // javascript implementation of the 'sink_event' virtual method
}

Optional. Called when an event is received on a sink pad, the subclass should always chain up.

Parameters:

aggregator (GstBase.Aggregator)
No description available
aggregator_pad (GstBase.AggregatorPad)
No description available
event (Gst.Event)
No description available
Returns (Number)
No description available

do_sink_event

def do_sink_event (aggregator, aggregator_pad, event):
    #python implementation of the 'sink_event' virtual method

Optional. Called when an event is received on a sink pad, the subclass should always chain up.

Parameters:

aggregator (GstBase.Aggregator)
No description available
aggregator_pad (GstBase.AggregatorPad)
No description available
event (Gst.Event)
No description available
Returns (bool)
No description available

sink_event_pre_queue

GstFlowReturn
sink_event_pre_queue (GstAggregator * aggregator,
                      GstAggregatorPad * aggregator_pad,
                      GstEvent * event)

Optional. Called when an event is received on a sink pad before queueing up serialized events. The subclass should always chain up (Since: 1.18).

Parameters:

aggregator
No description available
aggregator_pad
No description available
event
No description available
Returns
No description available

vfunc_sink_event_pre_queue

function vfunc_sink_event_pre_queue(aggregator: GstBase.Aggregator, aggregator_pad: GstBase.AggregatorPad, event: Gst.Event): {
    // javascript implementation of the 'sink_event_pre_queue' virtual method
}

Optional. Called when an event is received on a sink pad before queueing up serialized events. The subclass should always chain up (Since: 1.18).

Parameters:

aggregator (GstBase.Aggregator)
No description available
aggregator_pad (GstBase.AggregatorPad)
No description available
event (Gst.Event)
No description available
Returns (Gst.FlowReturn)
No description available

do_sink_event_pre_queue

def do_sink_event_pre_queue (aggregator, aggregator_pad, event):
    #python implementation of the 'sink_event_pre_queue' virtual method

Optional. Called when an event is received on a sink pad before queueing up serialized events. The subclass should always chain up (Since: 1.18).

Parameters:

aggregator (GstBase.Aggregator)
No description available
aggregator_pad (GstBase.AggregatorPad)
No description available
event (Gst.Event)
No description available
Returns (Gst.FlowReturn)
No description available

sink_query

gboolean
sink_query (GstAggregator * aggregator,
            GstAggregatorPad * aggregator_pad,
            GstQuery * query)

Optional. Called when a query is received on a sink pad, the subclass should always chain up.

Parameters:

aggregator
No description available
aggregator_pad
No description available
query
No description available
Returns
No description available

vfunc_sink_query

function vfunc_sink_query(aggregator: GstBase.Aggregator, aggregator_pad: GstBase.AggregatorPad, query: Gst.Query): {
    // javascript implementation of the 'sink_query' virtual method
}

Optional. Called when a query is received on a sink pad, the subclass should always chain up.

Parameters:

aggregator (GstBase.Aggregator)
No description available
aggregator_pad (GstBase.AggregatorPad)
No description available
query (Gst.Query)
No description available
Returns (Number)
No description available

do_sink_query

def do_sink_query (aggregator, aggregator_pad, query):
    #python implementation of the 'sink_query' virtual method

Optional. Called when a query is received on a sink pad, the subclass should always chain up.

Parameters:

aggregator (GstBase.Aggregator)
No description available
aggregator_pad (GstBase.AggregatorPad)
No description available
query (Gst.Query)
No description available
Returns (bool)
No description available

sink_query_pre_queue

gboolean
sink_query_pre_queue (GstAggregator * aggregator,
                      GstAggregatorPad * aggregator_pad,
                      GstQuery * query)

Optional. Called when a query is received on a sink pad before queueing up serialized queries. The subclass should always chain up (Since: 1.18).

Parameters:

aggregator
No description available
aggregator_pad
No description available
query
No description available
Returns
No description available

vfunc_sink_query_pre_queue

function vfunc_sink_query_pre_queue(aggregator: GstBase.Aggregator, aggregator_pad: GstBase.AggregatorPad, query: Gst.Query): {
    // javascript implementation of the 'sink_query_pre_queue' virtual method
}

Optional. Called when a query is received on a sink pad before queueing up serialized queries. The subclass should always chain up (Since: 1.18).

Parameters:

aggregator (GstBase.Aggregator)
No description available
aggregator_pad (GstBase.AggregatorPad)
No description available
query (Gst.Query)
No description available
Returns (Number)
No description available

do_sink_query_pre_queue

def do_sink_query_pre_queue (aggregator, aggregator_pad, query):
    #python implementation of the 'sink_query_pre_queue' virtual method

Optional. Called when a query is received on a sink pad before queueing up serialized queries. The subclass should always chain up (Since: 1.18).

Parameters:

aggregator (GstBase.Aggregator)
No description available
aggregator_pad (GstBase.AggregatorPad)
No description available
query (Gst.Query)
No description available
Returns (bool)
No description available

src_activate

gboolean
src_activate (GstAggregator * aggregator,
              GstPadMode mode,
              gboolean active)

Optional. Called when the src pad is activated, it will start/stop its pad task right after that call.

Parameters:

aggregator
No description available
mode
No description available
active
No description available
Returns
No description available

vfunc_src_activate

function vfunc_src_activate(aggregator: GstBase.Aggregator, mode: Gst.PadMode, active: Number): {
    // javascript implementation of the 'src_activate' virtual method
}

Optional. Called when the src pad is activated, it will start/stop its pad task right after that call.

Parameters:

aggregator (GstBase.Aggregator)
No description available
mode (Gst.PadMode)
No description available
active (Number)
No description available
Returns (Number)
No description available

do_src_activate

def do_src_activate (aggregator, mode, active):
    #python implementation of the 'src_activate' virtual method

Optional. Called when the src pad is activated, it will start/stop its pad task right after that call.

Parameters:

aggregator (GstBase.Aggregator)
No description available
mode (Gst.PadMode)
No description available
active (bool)
No description available
Returns (bool)
No description available

src_event

gboolean
src_event (GstAggregator * aggregator,
           GstEvent * event)

Optional. Called when an event is received on the src pad, the subclass should always chain up.

Parameters:

aggregator
No description available
event
No description available
Returns
No description available

vfunc_src_event

function vfunc_src_event(aggregator: GstBase.Aggregator, event: Gst.Event): {
    // javascript implementation of the 'src_event' virtual method
}

Optional. Called when an event is received on the src pad, the subclass should always chain up.

Parameters:

aggregator (GstBase.Aggregator)
No description available
event (Gst.Event)
No description available
Returns (Number)
No description available

do_src_event

def do_src_event (aggregator, event):
    #python implementation of the 'src_event' virtual method

Optional. Called when an event is received on the src pad, the subclass should always chain up.

Parameters:

aggregator (GstBase.Aggregator)
No description available
event (Gst.Event)
No description available
Returns (bool)
No description available

src_query

gboolean
src_query (GstAggregator * aggregator,
           GstQuery * query)

Optional. Called when a query is received on the src pad, the subclass should always chain up.

Parameters:

aggregator
No description available
query
No description available
Returns
No description available

vfunc_src_query

function vfunc_src_query(aggregator: GstBase.Aggregator, query: Gst.Query): {
    // javascript implementation of the 'src_query' virtual method
}

Optional. Called when a query is received on the src pad, the subclass should always chain up.

Parameters:

aggregator (GstBase.Aggregator)
No description available
query (Gst.Query)
No description available
Returns (Number)
No description available

do_src_query

def do_src_query (aggregator, query):
    #python implementation of the 'src_query' virtual method

Optional. Called when a query is received on the src pad, the subclass should always chain up.

Parameters:

aggregator (GstBase.Aggregator)
No description available
query (Gst.Query)
No description available
Returns (bool)
No description available

start

gboolean
start (GstAggregator * aggregator)

Optional. Called when the element goes from READY to PAUSED. The subclass should get ready to process aggregated buffers.

Parameters:

aggregator
No description available
Returns
No description available

vfunc_start

function vfunc_start(aggregator: GstBase.Aggregator): {
    // javascript implementation of the 'start' virtual method
}

Optional. Called when the element goes from READY to PAUSED. The subclass should get ready to process aggregated buffers.

Parameters:

aggregator (GstBase.Aggregator)
No description available
Returns (Number)
No description available

do_start

def do_start (aggregator):
    #python implementation of the 'start' virtual method

Optional. Called when the element goes from READY to PAUSED. The subclass should get ready to process aggregated buffers.

Parameters:

aggregator (GstBase.Aggregator)
No description available
Returns (bool)
No description available

stop

gboolean
stop (GstAggregator * aggregator)

Optional. Called when the element goes from PAUSED to READY. The subclass should free all resources and reset its state.

Parameters:

aggregator
No description available
Returns
No description available

vfunc_stop

function vfunc_stop(aggregator: GstBase.Aggregator): {
    // javascript implementation of the 'stop' virtual method
}

Optional. Called when the element goes from PAUSED to READY. The subclass should free all resources and reset its state.

Parameters:

aggregator (GstBase.Aggregator)
No description available
Returns (Number)
No description available

do_stop

def do_stop (aggregator):
    #python implementation of the 'stop' virtual method

Optional. Called when the element goes from PAUSED to READY. The subclass should free all resources and reset its state.

Parameters:

aggregator (GstBase.Aggregator)
No description available
Returns (bool)
No description available

update_src_caps

GstFlowReturn
update_src_caps (GstAggregator * self,
                 GstCaps * caps,
                 GstCaps ** ret)

Lets subclasses update the GstCaps representing the src pad caps before usage. The result should end up in ret. Return GST_AGGREGATOR_FLOW_NEED_DATA to indicate that the element needs more information (caps, a buffer, etc) to choose the correct caps. Should return ANY caps if the stream has not caps at all.

Parameters:

self
No description available
caps
No description available
ret
No description available
Returns
No description available

vfunc_update_src_caps

function vfunc_update_src_caps(self: GstBase.Aggregator, caps: Gst.Caps): {
    // javascript implementation of the 'update_src_caps' virtual method
}

Lets subclasses update the Gst.Caps representing the src pad caps before usage. The result should end up in ret. Return GST_AGGREGATOR_FLOW_NEED_DATA (not introspectable) to indicate that the element needs more information (caps, a buffer, etc) to choose the correct caps. Should return ANY caps if the stream has not caps at all.

Parameters:

self (GstBase.Aggregator)
No description available
caps (Gst.Caps)
No description available

Returns a tuple made of:

No description available
ret (Gst.Caps )
No description available

do_update_src_caps

def do_update_src_caps (self, caps):
    #python implementation of the 'update_src_caps' virtual method

Lets subclasses update the Gst.Caps representing the src pad caps before usage. The result should end up in ret. Return GST_AGGREGATOR_FLOW_NEED_DATA (not introspectable) to indicate that the element needs more information (caps, a buffer, etc) to choose the correct caps. Should return ANY caps if the stream has not caps at all.

Parameters:

self (GstBase.Aggregator)
No description available
caps (Gst.Caps)
No description available

Returns a tuple made of:

No description available
ret (Gst.Caps )
No description available

GstAggregatorPad

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstPad
                ╰──GstAggregatorPad

The implementation the GstPad to use with GstAggregator

Members

parent (GstPad) –
No description available
segment (GstSegment) –

last segment received.

Since : 1.14


Class structure

GstAggregatorPadClass

Fields
parent_class (GstPadClass) –
No description available

Since : 1.14


GstBase.AggregatorPadClass

Attributes
parent_class (Gst.PadClass) –
No description available

Since : 1.14


GstBase.AggregatorPadClass

Attributes
parent_class (Gst.PadClass) –
No description available

Since : 1.14


GstBase.AggregatorPad

GObject.Object
    ╰──GObject.InitiallyUnowned
        ╰──Gst.Object
            ╰──Gst.Pad
                ╰──GstBase.AggregatorPad

The implementation the GstPad to use with GstBase.Aggregator

Members

parent (Gst.Pad) –
No description available
segment (Gst.Segment) –

last segment received.

Since : 1.14


GstBase.AggregatorPad

GObject.Object
    ╰──GObject.InitiallyUnowned
        ╰──Gst.Object
            ╰──Gst.Pad
                ╰──GstBase.AggregatorPad

The implementation the GstPad to use with GstBase.Aggregator

Members

parent (Gst.Pad) –
No description available
segment (Gst.Segment) –

last segment received.

Since : 1.14


Methods

gst_aggregator_pad_drop_buffer

gboolean
gst_aggregator_pad_drop_buffer (GstAggregatorPad * pad)

Drop the buffer currently queued in pad.

Parameters:

pad

the pad where to drop any pending buffer

Returns

TRUE if there was a buffer queued in pad, or FALSE if not.


GstBase.AggregatorPad.prototype.drop_buffer

function GstBase.AggregatorPad.prototype.drop_buffer(): {
    // javascript wrapper for 'gst_aggregator_pad_drop_buffer'
}

Drop the buffer currently queued in pad.

Parameters:

the pad where to drop any pending buffer

Returns (Number)

TRUE if there was a buffer queued in pad, or FALSE if not.


GstBase.AggregatorPad.drop_buffer

def GstBase.AggregatorPad.drop_buffer (self):
    #python wrapper for 'gst_aggregator_pad_drop_buffer'

Drop the buffer currently queued in pad.

Parameters:

the pad where to drop any pending buffer

Returns (bool)

TRUE if there was a buffer queued in pad, or FALSE if not.


gst_aggregator_pad_has_buffer

gboolean
gst_aggregator_pad_has_buffer (GstAggregatorPad * pad)

This checks if a pad has a buffer available that will be returned by a call to gst_aggregator_pad_peek_buffer or gst_aggregator_pad_pop_buffer.

Parameters:

pad

the pad to check the buffer on

Returns

TRUE if the pad has a buffer available as the next thing.

Since : 1.14.1


GstBase.AggregatorPad.prototype.has_buffer

function GstBase.AggregatorPad.prototype.has_buffer(): {
    // javascript wrapper for 'gst_aggregator_pad_has_buffer'
}

This checks if a pad has a buffer available that will be returned by a call to GstBase.AggregatorPad.prototype.peek_buffer or GstBase.AggregatorPad.prototype.pop_buffer.

Parameters:

the pad to check the buffer on

Returns (Number)

true if the pad has a buffer available as the next thing.

Since : 1.14.1


GstBase.AggregatorPad.has_buffer

def GstBase.AggregatorPad.has_buffer (self):
    #python wrapper for 'gst_aggregator_pad_has_buffer'

This checks if a pad has a buffer available that will be returned by a call to GstBase.AggregatorPad.peek_buffer or GstBase.AggregatorPad.pop_buffer.

Parameters:

the pad to check the buffer on

Returns (bool)

True if the pad has a buffer available as the next thing.

Since : 1.14.1


gst_aggregator_pad_is_eos

gboolean
gst_aggregator_pad_is_eos (GstAggregatorPad * pad)

Parameters:

pad

an aggregator pad

Returns

TRUE if the pad is EOS, otherwise FALSE.


GstBase.AggregatorPad.prototype.is_eos

function GstBase.AggregatorPad.prototype.is_eos(): {
    // javascript wrapper for 'gst_aggregator_pad_is_eos'
}

Parameters:

an aggregator pad

Returns (Number)

true if the pad is EOS, otherwise false.


GstBase.AggregatorPad.is_eos

def GstBase.AggregatorPad.is_eos (self):
    #python wrapper for 'gst_aggregator_pad_is_eos'

Parameters:

an aggregator pad

Returns (bool)

True if the pad is EOS, otherwise False.


gst_aggregator_pad_is_inactive

gboolean
gst_aggregator_pad_is_inactive (GstAggregatorPad * pad)

It is only valid to call this method from aggregate()

Parameters:

pad

an aggregator pad

Returns

TRUE if the pad is inactive, FALSE otherwise. See gst_aggregator_ignore_inactive_pads for more info.

Since : 1.20


GstBase.AggregatorPad.prototype.is_inactive

function GstBase.AggregatorPad.prototype.is_inactive(): {
    // javascript wrapper for 'gst_aggregator_pad_is_inactive'
}

It is only valid to call this method from vfunc_aggregate()

Parameters:

an aggregator pad

Returns (Number)

true if the pad is inactive, false otherwise. See gst_aggregator_ignore_inactive_pads for more info.

Since : 1.20


GstBase.AggregatorPad.is_inactive

def GstBase.AggregatorPad.is_inactive (self):
    #python wrapper for 'gst_aggregator_pad_is_inactive'

It is only valid to call this method from do_aggregate()

Parameters:

an aggregator pad

Returns (bool)

True if the pad is inactive, False otherwise. See gst_aggregator_ignore_inactive_pads for more info.

Since : 1.20


gst_aggregator_pad_peek_buffer

GstBuffer *
gst_aggregator_pad_peek_buffer (GstAggregatorPad * pad)

Parameters:

pad

the pad to get buffer from

Returns ( [nullable][transfer: full])

A reference to the buffer in pad or NULL if no buffer was queued. You should unref the buffer after usage.


GstBase.AggregatorPad.prototype.peek_buffer

function GstBase.AggregatorPad.prototype.peek_buffer(): {
    // javascript wrapper for 'gst_aggregator_pad_peek_buffer'
}

Parameters:

the pad to get buffer from

Returns (Gst.Buffer)

A reference to the buffer in pad or NULL if no buffer was queued. You should unref the buffer after usage.


GstBase.AggregatorPad.peek_buffer

def GstBase.AggregatorPad.peek_buffer (self):
    #python wrapper for 'gst_aggregator_pad_peek_buffer'

Parameters:

the pad to get buffer from

Returns (Gst.Buffer)

A reference to the buffer in pad or NULL if no buffer was queued. You should unref the buffer after usage.


gst_aggregator_pad_pop_buffer

GstBuffer *
gst_aggregator_pad_pop_buffer (GstAggregatorPad * pad)

Steal the ref to the buffer currently queued in pad.

Parameters:

pad

the pad to get buffer from

Returns ( [nullable][transfer: full])

The buffer in pad or NULL if no buffer was queued. You should unref the buffer after usage.


GstBase.AggregatorPad.prototype.pop_buffer

function GstBase.AggregatorPad.prototype.pop_buffer(): {
    // javascript wrapper for 'gst_aggregator_pad_pop_buffer'
}

Steal the ref to the buffer currently queued in pad.

Parameters:

the pad to get buffer from

Returns (Gst.Buffer)

The buffer in pad or NULL if no buffer was queued. You should unref the buffer after usage.


GstBase.AggregatorPad.pop_buffer

def GstBase.AggregatorPad.pop_buffer (self):
    #python wrapper for 'gst_aggregator_pad_pop_buffer'

Steal the ref to the buffer currently queued in pad.

Parameters:

the pad to get buffer from

Returns (Gst.Buffer)

The buffer in pad or NULL if no buffer was queued. You should unref the buffer after usage.


Signals

buffer-consumed

buffer_consumed_callback (GstAggregatorPad * self,
                          GstBuffer * object,
                          gpointer user_data)

Parameters:

self
No description available
object
No description available
user_data
No description available

Flags: Run First


buffer-consumed

function buffer_consumed_callback(self: GstBase.AggregatorPad, object: Gst.Buffer, user_data: Object): {
    // javascript callback for the 'buffer-consumed' signal
}

Parameters:

No description available
object (Gst.Buffer)
No description available
user_data (Object)
No description available

Flags: Run First


buffer-consumed

def buffer_consumed_callback (self, object, *user_data):
    #python callback for the 'buffer-consumed' signal

Parameters:

No description available
object (Gst.Buffer)
No description available
user_data (variadic)
No description available

Flags: Run First


Properties

emit-signals

“emit-signals” gboolean

Enables the emission of signals such as buffer-consumed

Flags : Read / Write

Since : 1.16


emit-signals

“emit-signals” Number

Enables the emission of signals such as buffer-consumed

Flags : Read / Write

Since : 1.16


emit_signals

“self.props.emit_signals” bool

Enables the emission of signals such as buffer-consumed

Flags : Read / Write

Since : 1.16


Virtual Methods

flush

GstFlowReturn
flush (GstAggregatorPad * aggpad,
       GstAggregator * aggregator)

Optional Called when the pad has received a flush stop, this is the place to flush any information specific to the pad, it allows for individual pads to be flushed while others might not be.

Parameters:

aggpad
No description available
aggregator
No description available
Returns
No description available

vfunc_flush

function vfunc_flush(aggpad: GstBase.AggregatorPad, aggregator: GstBase.Aggregator): {
    // javascript implementation of the 'flush' virtual method
}

Optional Called when the pad has received a flush stop, this is the place to flush any information specific to the pad, it allows for individual pads to be flushed while others might not be.

Parameters:

aggpad (GstBase.AggregatorPad)
No description available
aggregator (GstBase.Aggregator)
No description available
Returns (Gst.FlowReturn)
No description available

do_flush

def do_flush (aggpad, aggregator):
    #python implementation of the 'flush' virtual method

Optional Called when the pad has received a flush stop, this is the place to flush any information specific to the pad, it allows for individual pads to be flushed while others might not be.

Parameters:

aggpad (GstBase.AggregatorPad)
No description available
aggregator (GstBase.Aggregator)
No description available
Returns (Gst.FlowReturn)
No description available

skip_buffer

gboolean
skip_buffer (GstAggregatorPad * aggpad,
             GstAggregator * aggregator,
             GstBuffer * buffer)

Optional Called before input buffers are queued in the pad, return TRUE if the buffer should be skipped.

Parameters:

aggpad
No description available
aggregator
No description available
buffer
No description available
Returns
No description available

vfunc_skip_buffer

function vfunc_skip_buffer(aggpad: GstBase.AggregatorPad, aggregator: GstBase.Aggregator, buffer: Gst.Buffer): {
    // javascript implementation of the 'skip_buffer' virtual method
}

Optional Called before input buffers are queued in the pad, return true if the buffer should be skipped.

Parameters:

aggpad (GstBase.AggregatorPad)
No description available
aggregator (GstBase.Aggregator)
No description available
buffer (Gst.Buffer)
No description available
Returns (Number)
No description available

do_skip_buffer

def do_skip_buffer (aggpad, aggregator, buffer):
    #python implementation of the 'skip_buffer' virtual method

Optional Called before input buffers are queued in the pad, return True if the buffer should be skipped.

Parameters:

aggpad (GstBase.AggregatorPad)
No description available
aggregator (GstBase.Aggregator)
No description available
buffer (Gst.Buffer)
No description available
Returns (bool)
No description available

Function Macros

GST_AGGREGATOR_CAST

#define GST_AGGREGATOR_CAST(obj)       ((GstAggregator *)(obj))

GST_AGGREGATOR_PAD_CAST

#define GST_AGGREGATOR_PAD_CAST(obj)       ((GstAggregatorPad *)(obj))

GST_AGGREGATOR_SRC_PAD

#define GST_AGGREGATOR_SRC_PAD(agg) (((GstAggregator *)(agg))->srcpad)

Convenience macro to access the source pad of GstAggregator

Parameters:

agg

a GstAggregator

Since : 1.6


Enumerations

GstAggregatorStartTimeSelection

Members
GST_AGGREGATOR_START_TIME_SELECTION_ZERO (0) –

Start at running time 0.

GST_AGGREGATOR_START_TIME_SELECTION_FIRST (1) –

Start at the running time of the first buffer that is received.

GST_AGGREGATOR_START_TIME_SELECTION_SET (2) –

Start at the running time selected by the start-time property.

Since : 1.18


GstBase.AggregatorStartTimeSelection

Members
GstBase.AggregatorStartTimeSelection.ZERO (0) –

Start at running time 0.

GstBase.AggregatorStartTimeSelection.FIRST (1) –

Start at the running time of the first buffer that is received.

GstBase.AggregatorStartTimeSelection.SET (2) –

Start at the running time selected by the start-time property.

Since : 1.18


GstBase.AggregatorStartTimeSelection

Members
GstBase.AggregatorStartTimeSelection.ZERO (0) –

Start at running time 0.

GstBase.AggregatorStartTimeSelection.FIRST (1) –

Start at the running time of the first buffer that is received.

GstBase.AggregatorStartTimeSelection.SET (2) –

Start at the running time selected by the start-time property.

Since : 1.18


Constants

GST_AGGREGATOR_FLOW_NEED_DATA

#define GST_AGGREGATOR_FLOW_NEED_DATA             GST_FLOW_CUSTOM_ERROR

The results of the search are