| Top |  |  |  |  | 
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;
};
| GstAggregatorPad  | ||
| GstVideoInfo  | The GstVideoInfo currently set on the pad | |
| GstBuffer * | ||
| GstVideoInfo  | The GstVideoInfo representing the type contained
in  | |
| GstVideoFrame * | The GstVideoFrame ready to be used for aggregation inside the aggregate_frames vmethod. | |
| The zorder of this pad | ||
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