GstVideoAggregatorPad: GStreamer Bad Plugins 1.0 Library Reference Manual

## GstVideoAggregatorPad GstVideoAggregatorPad |

## Types and Values

struct | GstVideoAggregatorPad
struct | GstVideoAggregatorPadClass

## Description

## Functions

## Types and Values

### struct GstVideoAggregatorPad

    struct GstVideoAggregatorPad {
      GstAggregatorPad parent;

      GstVideoInfo info;

      GstBuffer *buffer;
      /* The caps on the pad may not match the buffer above because of two reasons:
       * 1) When caps change, the info above will get updated, but the buffer might
       *    not since it might be pending on the GstAggregatorPad
       * 2) We might reject the new buffer in fill_queues() and reuse a previous
       *    buffer which has older GstVideoInfo
       * Hence, we need to maintain a GstVideoInfo for mapping buffers separately */
      GstVideoInfo buffer_vinfo;

      GstVideoFrame *aggregated_frame;

      /* properties */
      guint zorder;
      gboolean ignore_eos;
    };

#### Members

GstAggregatorPad `parent`; |  |
GstVideoInfo `info`; | The GstVideoInfo currently set on the pad |
GstBuffer *`buffer`; |  |
GstVideoInfo `buffer_vinfo`; | The GstVideoInfo representing the type contained in `buffer` |
GstVideoFrame *`aggregated_frame`; | The GstVideoFrame ready to be used for aggregation inside the aggregate_frames vmethod. |
guint `zorder`; | The zorder of this pad |
gboolean `ignore_eos`; |  |

### struct GstVideoAggregatorPadClass

    struct GstVideoAggregatorPadClass {
      GstAggregatorPadClass parent_class;
      gboolean           (*set_info)              (GstVideoAggregatorPad * pad,
                                                   GstVideoAggregator    * videoaggregator,
                                                   GstVideoInfo          * current_info,
                                                   GstVideoInfo          * wanted_info);

      gboolean           (*prepare_frame)         (GstVideoAggregatorPad * pad,
                                                   GstVideoAggregator    * videoaggregator);

      void               (*clean_frame)           (GstVideoAggregatorPad * pad,
                                                   GstVideoAggregator    * videoaggregator);

      gpointer          _gst_reserved[GST_PADDING_LARGE];
    };

`set_info` : Lets subclass set a converter on the pad, right after a new format has been negotiated. `prepare_frame` : Prepare the frame from the pad buffer (if any) and sets it to `aggregated_frame` `clean_frame` : clean the frame previously prepared in prepare_frame