API: GstAggregatorPad.skip_buffer virtual method
[platform/upstream/gstreamer.git] / libs / gst / base / gstbasetransform.h
index 1190682..a89a700 100644 (file)
@@ -179,9 +179,9 @@ struct _GstBaseTransform {
  *                 The default implementation will copy the flags, timestamps and
  *                 offsets of the buffer.
  * @transform_meta: Optional. Transform the metadata on the input buffer to the
- *                  output buffer. By default this method is %NULL and no
- *                  metadata is copied. subclasses can implement this method and
- *                  return %TRUE if the metadata is to be copied.
+ *                  output buffer. By default this method copies all meta without
+ *                  tags. subclasses can implement this method and return %TRUE if
+ *                  the metadata is to be copied.
  * @before_transform: Optional.
  *                    This method is called right before the base class will
  *                    start processing. Dynamic properties or other delayed
@@ -192,14 +192,13 @@ struct _GstBaseTransform {
  *                  of the outgoing buffer.
  * @transform_ip:   Required if the element operates in-place.
  *                  Transform the incoming buffer in-place.
- *
  * @submit_input_buffer: Function which accepts a new input buffer and pre-processes it.
  *                  The default implementation performs caps (re)negotiation, then
  *                  QoS if needed, and places the input buffer into the @queued_buf
  *                  member variable. If the buffer is dropped due to QoS, it returns
  *                  GST_BASE_TRANSFORM_FLOW_DROPPED. If this input buffer is not
  *                  contiguous with any previous input buffer, then @is_discont
- *                  is set to #TRUE. (Since: 1.6)
+ *                  is set to %TRUE. (Since 1.6)
  * @generate_output: Called after each new input buffer is submitted repeatedly
  *                   until it either generates an error or fails to generate an output
  *                   buffer. The default implementation takes the contents of the
@@ -208,8 +207,8 @@ struct _GstBaseTransform {
  *                   calls either @transform or @transform_ip. Elements that don't
  *                   do 1-to-1 transformations on input to output buffers can either
  *                   return GST_BASE_TRANSFORM_FLOW_DROPPED or simply not generate
- *                   an output buffer until they are ready to do so. (Since: 1.6)
- *                   
+ *                   an output buffer until they are ready to do so. (Since 1.6)
+ *
  * Subclasses can override any of the available virtual methods or not, as
  * needed. At minimum either @transform or @transform_ip need to be overridden.
  * If the element can overwrite the input data with the results (data is of the
@@ -285,39 +284,59 @@ struct _GstBaseTransformClass {
   gpointer       _gst_reserved[GST_PADDING_LARGE - 2];
 };
 
+GST_EXPORT
 GType           gst_base_transform_get_type         (void);
 
+GST_EXPORT
 void           gst_base_transform_set_passthrough  (GstBaseTransform *trans,
                                                     gboolean passthrough);
+GST_EXPORT
 gboolean       gst_base_transform_is_passthrough   (GstBaseTransform *trans);
 
+GST_EXPORT
 void           gst_base_transform_set_in_place     (GstBaseTransform *trans,
                                                     gboolean in_place);
+GST_EXPORT
 gboolean       gst_base_transform_is_in_place      (GstBaseTransform *trans);
 
+GST_EXPORT
 void           gst_base_transform_update_qos       (GstBaseTransform *trans,
                                                     gdouble proportion,
                                                     GstClockTimeDiff diff,
                                                     GstClockTime timestamp);
+GST_EXPORT
 void           gst_base_transform_set_qos_enabled  (GstBaseTransform *trans,
                                                     gboolean enabled);
+GST_EXPORT
 gboolean       gst_base_transform_is_qos_enabled   (GstBaseTransform *trans);
 
+GST_EXPORT
 void            gst_base_transform_set_gap_aware    (GstBaseTransform *trans,
                                                      gboolean gap_aware);
-
+GST_EXPORT
 void            gst_base_transform_set_prefer_passthrough (GstBaseTransform *trans,
                                                            gboolean prefer_passthrough);
-
+GST_EXPORT
 GstBufferPool * gst_base_transform_get_buffer_pool  (GstBaseTransform *trans);
+
+GST_EXPORT
 void            gst_base_transform_get_allocator    (GstBaseTransform *trans,
                                                      GstAllocator **allocator,
                                                      GstAllocationParams *params);
-
+GST_EXPORT
 void           gst_base_transform_reconfigure_sink (GstBaseTransform *trans);
+
+GST_EXPORT
 void           gst_base_transform_reconfigure_src  (GstBaseTransform *trans);
+
+GST_EXPORT
 gboolean gst_base_transform_update_src_caps (GstBaseTransform *trans,
                                              GstCaps *updated_caps);
+
+#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstBaseTransform, gst_object_unref)
+#endif
+
 G_END_DECLS
 
 #endif /* __GST_BASE_TRANSFORM_H__ */