diff --git a/docs/libs/gst-plugins-base-libs-docs.sgml b/docs/libs/gst-plugins-base-libs-docs.sgml
index 8149d29ab9..d17b3888c9 100644
--- a/docs/libs/gst-plugins-base-libs-docs.sgml
+++ b/docs/libs/gst-plugins-base-libs-docs.sgml
@@ -205,6 +205,8 @@
+
+
diff --git a/docs/libs/gst-plugins-base-libs-sections.txt b/docs/libs/gst-plugins-base-libs-sections.txt
index bc6733df53..3e6e4755e5 100644
--- a/docs/libs/gst-plugins-base-libs-sections.txt
+++ b/docs/libs/gst-plugins-base-libs-sections.txt
@@ -3231,6 +3231,37 @@ GST_VIDEO_AFFINE_TRANSFORMATION_META_API_TYPE
GST_VIDEO_AFFINE_TRANSFORMATION_META_INFO
+
+gstvideoaggregator
+GstVideoAggregator
+GstVideoAggregator
+GstVideoAggregatorClass
+
+GST_IS_VIDEO_AGGREGATOR
+GST_IS_VIDEO_AGGREGATOR_CLASS
+GST_TYPE_VIDEO_AGGREGATOR
+GST_VIDEO_AGGREGATOR
+GST_VIDEO_AGGREGATOR_CLASS
+GST_VIDEO_AGGREGATOR_GET_CLASS
+gst_video_aggregator_get_type
+GstVideoAggregatorPrivate
+
+
+
+gstvideoaggregatorpad
+GstVideoAggregatorPad
+GstVideoAggregatorPad
+GstVideoAggregatorPadClass
+
+GST_IS_VIDEO_AGGREGATOR_PAD
+GST_IS_VIDEO_AGGREGATOR_PADCLASS
+GST_TYPE_VIDEO_AGGREGATOR_PAD
+GST_VIDEO_AGGREGATOR_PAD
+GST_VIDEO_AGGREGATOR_PAD_CLASS
+GST_VIDEO_AGGREGATOR_PAD_GET_CLASS
+gst_video_aggregator_pad_get_type
+
+
gstvideooverlaycomposition
gst/video/video.h
diff --git a/docs/libs/gst-plugins-base-libs.types b/docs/libs/gst-plugins-base-libs.types
index 49a6b6a6ab..74a60baf7a 100644
--- a/docs/libs/gst-plugins-base-libs.types
+++ b/docs/libs/gst-plugins-base-libs.types
@@ -50,6 +50,8 @@ gst_video_filter_get_type
gst_video_sink_get_type
gst_color_balance_get_type
gst_color_balance_channel_get_type
+gst_video_aggregator_get_type
+gst_video_aggregator_pad_get_type
gst_video_direction_get_type
gst_video_orientation_get_type
gst_video_overlay_get_type
diff --git a/gst-libs/gst/video/Makefile.am b/gst-libs/gst/video/Makefile.am
index 0f8473d95a..b101f00006 100644
--- a/gst-libs/gst/video/Makefile.am
+++ b/gst-libs/gst/video/Makefile.am
@@ -36,6 +36,7 @@ libgstvideo_@GST_API_VERSION@_la_SOURCES = \
video-frame.c \
video-scaler.c \
video-tile.c \
+ gstvideoaggregator.c \
gstvideosink.c \
gstvideofilter.c \
convertframe.c \
@@ -75,6 +76,7 @@ libgstvideo_@GST_API_VERSION@include_HEADERS = \
video-frame.h \
video-scaler.h \
video-tile.h \
+ gstvideoaggregator.h \
gstvideosink.h \
gstvideofilter.h \
gstvideometa.h \
diff --git a/gst-libs/gst/video/gstvideoaggregator.h b/gst-libs/gst/video/gstvideoaggregator.h
index 6b53ce41c1..70b32b8fd4 100644
--- a/gst-libs/gst/video/gstvideoaggregator.h
+++ b/gst-libs/gst/video/gstvideoaggregator.h
@@ -21,15 +21,8 @@
#ifndef __GST_VIDEO_AGGREGATOR_H__
#define __GST_VIDEO_AGGREGATOR_H__
-#ifndef GST_USE_UNSTABLE_API
-#warning "The Video library from gst-plugins-bad is unstable API and may change in future."
-#warning "You can define GST_USE_UNSTABLE_API to avoid this warning."
-#endif
-
-#include
#include
#include
-#include
G_BEGIN_DECLS
@@ -78,7 +71,6 @@ struct _GstVideoAggregatorPad
/**
* GstVideoAggregatorPadClass:
- *
* @update_conversion_info: Called when either the input or output formats
* have changed.
* @prepare_frame: Prepare the frame from the pad buffer and sets it to prepared_frame
@@ -101,19 +93,19 @@ struct _GstVideoAggregatorPadClass
gpointer _gst_reserved[GST_PADDING_LARGE];
};
-GST_VIDEO_BAD_API
+GST_VIDEO_API
GType gst_video_aggregator_pad_get_type (void);
-GST_VIDEO_BAD_API
+GST_VIDEO_API
gboolean gst_video_aggregator_pad_has_current_buffer (GstVideoAggregatorPad *pad);
-GST_VIDEO_BAD_API
+GST_VIDEO_API
GstBuffer * gst_video_aggregator_pad_get_current_buffer (GstVideoAggregatorPad *pad);
-GST_VIDEO_BAD_API
+GST_VIDEO_API
GstVideoFrame * gst_video_aggregator_pad_get_prepared_frame (GstVideoAggregatorPad *pad);
-GST_VIDEO_BAD_API
+GST_VIDEO_API
void gst_video_aggregator_pad_set_needs_alpha (GstVideoAggregatorPad *pad, gboolean needs_alpha);
/********************************
@@ -162,10 +154,10 @@ struct _GstVideoAggregatorConvertPadClass
gpointer _gst_reserved[GST_PADDING];
};
-GST_VIDEO_BAD_API
+GST_VIDEO_API
GType gst_video_aggregator_convert_pad_get_type (void);
-GST_VIDEO_BAD_API
+GST_VIDEO_API
void gst_video_aggregator_convert_pad_update_conversion_info (GstVideoAggregatorConvertPad * pad);
/**********************
@@ -241,7 +233,7 @@ struct _GstVideoAggregatorClass
gpointer _gst_reserved[GST_PADDING_LARGE];
};
-GST_VIDEO_BAD_API
+GST_VIDEO_API
GType gst_video_aggregator_get_type (void);
G_END_DECLS
diff --git a/gst-libs/gst/video/meson.build b/gst-libs/gst/video/meson.build
index 5d694c18b4..b4dfcdf65b 100644
--- a/gst-libs/gst/video/meson.build
+++ b/gst-libs/gst/video/meson.build
@@ -3,6 +3,7 @@ video_sources = [
'colorbalancechannel.c',
'convertframe.c',
'gstvideoaffinetransformationmeta.c',
+ 'gstvideoaggregator.c',
'gstvideodecoder.c',
'gstvideoencoder.c',
'gstvideofilter.c',
@@ -38,6 +39,7 @@ video_headers = [
'colorbalance.h',
'colorbalancechannel.h',
'gstvideoaffinetransformationmeta.h',
+ 'gstvideoaggregator.h',
'gstvideodecoder.h',
'gstvideoencoder.h',
'gstvideofilter.h',
diff --git a/gst-libs/gst/video/video.h b/gst-libs/gst/video/video.h
index 130446bc38..c26df59016 100644
--- a/gst-libs/gst/video/video.h
+++ b/gst-libs/gst/video/video.h
@@ -165,6 +165,7 @@ G_END_DECLS
#include
#include
+#include
#include
#include
#include