GstAggregatorPad

GstAggregatorPad — GstPad subclass for pads managed by GstAggregator

Functions

Properties

gboolean emit-signals Read / Write

Signals

Types and Values

Object Hierarchy

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

Includes

#include <gst/base/base.h>

Description

Pads managed by a GstAggregor subclass.

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

Functions

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

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

[transfer full]


gst_aggregator_pad_peek_buffer ()

GstBuffer *
gst_aggregator_pad_peek_buffer (GstAggregatorPad *pad);

Parameters

pad

the pad to get buffer from

 

Returns

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

[transfer full]


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.


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.


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

Types and Values

struct GstAggregatorPad

struct GstAggregatorPad {
  /* Protected by the OBJECT_LOCK */
  GstSegment segment;
};

The implementation the GstPad to use with GstAggregator

Members

GstSegment segment;

last segment received.

 

struct GstAggregatorPadClass

struct GstAggregatorPadClass {
  GstPadClass   parent_class;

  GstFlowReturn (*flush)       (GstAggregatorPad * aggpad, GstAggregator * aggregator);
  gboolean      (*skip_buffer) (GstAggregatorPad * aggpad, GstAggregator * aggregator, GstBuffer * buffer);
};

Members

flush ()

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.

 

skip_buffer ()

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

 

Property Details

The “emit-signals” property

  “emit-signals”             gboolean

Enables the emission of signals such as “buffer-consumed”

Flags: Read / Write

Default value: FALSE

Since: 1.16

Signal Details

The “buffer-consumed” signal

void
user_function (GstAggregatorPad *gstaggregatorpad,
               GstBuffer        *arg1,
               gpointer          user_data)

Signals that a buffer was consumed. As aggregator pads store buffers in an internal queue, there is no direct match between input and output buffers at any given time. This signal can be useful to forward metas such as GstVideoTimeCodeMeta or GstVideoCaptionMeta at the right time.

Parameters

user_data

user data set when the signal handler was connected.

 

Flags: Run First

Since: 1.16

See Also

gstcollectpads for historical reasons.