gst_pad_mark_reconfigure (trans->srcpad);
}
+
+/**
+ * gst_base_transform_get_buffer_pool:
+ * @trans: a #GstBaseTransform
+ *
+ * Returns: (transfer full): the instance of the #GstBufferPool used
+ * by @trans; free it after use it
+ */
+GstBufferPool *
+gst_base_transform_get_buffer_pool (GstBaseTransform * trans)
+{
+ g_return_val_if_fail (GST_IS_BASE_TRANSFORM (trans), NULL);
+
+ if (trans->priv->pool)
+ return gst_object_ref (trans->priv->pool);
+
+ return NULL;
+}
+
+/**
+ * gst_base_transform_get_allocator:
+ * @trans: a #GstBaseTransform
+ * @allocator: (out) (allow-none) (transfer full): the #GstAllocator
+ * used
+ * @params: (out) (allow-none) (transfer full): the
+ * #GstAllocatorParams of @allocator
+ *
+ * Lets #GstBaseTransform sub-classes to know the memory @allocator
+ * used by the base class and its @params.
+ *
+ * Unref the @allocator after use it.
+ */
+void
+gst_base_transform_get_allocator (GstBaseTransform * trans,
+ GstAllocator ** allocator, GstAllocationParams * params)
+{
+ g_return_if_fail (GST_IS_BASE_TRANSFORM (trans));
+
+ if (allocator)
+ *allocator = trans->priv->allocator ?
+ gst_object_ref (trans->priv->allocator) : NULL;
+
+ if (params)
+ *params = trans->priv->params;
+}
void gst_base_transform_set_gap_aware (GstBaseTransform *trans,
gboolean gap_aware);
+GstBufferPool * gst_base_transform_get_buffer_pool (GstBaseTransform *trans);
+void gst_base_transform_get_allocator (GstBaseTransform *trans,
+ GstAllocator **allocator,
+ GstAllocationParams *params);
+
void gst_base_transform_reconfigure_sink (GstBaseTransform *trans);
void gst_base_transform_reconfigure_src (GstBaseTransform *trans);
G_END_DECLS