Merge branch 'upstream/1.16' into tizen_gst_1.16.2
[platform/upstream/gstreamer.git] / libs / gst / base / gstbaseparse.h
index 266c11c..24fd907 100644 (file)
@@ -23,6 +23,7 @@
 #define __GST_BASE_PARSE_H__
 
 #include <gst/gst.h>
+#include <gst/base/base-prelude.h>
 
 G_BEGIN_DECLS
 
@@ -53,9 +54,10 @@ G_BEGIN_DECLS
 /**
  * GST_BASE_PARSE_FLOW_DROPPED:
  *
- * A #GstFlowReturn that can be returned from parse_frame to
- * indicate that no output buffer was generated, or from pre_push_frame to
- * to forego pushing buffer.
+ * A #GstFlowReturn that can be returned from
+ * #GstBaseParseClass.handle_frame() to indicate that no output buffer was
+ * generated, or from #GstBaseParseClass.pre_push_frame() to to forego
+ * pushing buffer.
  */
 #define GST_BASE_PARSE_FLOW_DROPPED     GST_FLOW_CUSTOM_SUCCESS
 
@@ -219,10 +221,10 @@ struct _GstBaseParse {
  * @sink_query:     Optional.
  *                   Query handler on the sink pad. This function should chain
  *                   up to the parent implementation to let the default handler
- *                   run (Since 1.2)
+ *                   run (Since: 1.2)
  * @src_query:      Optional.
  *                   Query handler on the source pad. Should chain up to the
- *                   parent to let the default handler run (Since 1.2)
+ *                   parent to let the default handler run (Since: 1.2)
  *
  * Subclasses can override any of the available virtual methods or not, as
  * needed. At minimum @handle_frame needs to be overridden.
@@ -275,107 +277,119 @@ struct _GstBaseParseClass {
   gpointer       _gst_reserved[GST_PADDING_LARGE - 2];
 };
 
+GST_BASE_API
 GType           gst_base_parse_get_type (void);
 
+GST_BASE_API
 GType           gst_base_parse_frame_get_type (void);
 
+GST_BASE_API
 GstBaseParseFrame * gst_base_parse_frame_new  (GstBuffer              * buffer,
                                                GstBaseParseFrameFlags   flags,
                                                gint                     overhead);
-
+GST_BASE_API
 void            gst_base_parse_frame_init      (GstBaseParseFrame * frame);
 
+GST_BASE_API
 GstBaseParseFrame * gst_base_parse_frame_copy  (GstBaseParseFrame * frame);
+GST_BASE_API
 void            gst_base_parse_frame_free      (GstBaseParseFrame * frame);
 
+GST_BASE_API
 GstFlowReturn   gst_base_parse_push_frame      (GstBaseParse      * parse,
                                                 GstBaseParseFrame * frame);
-
+GST_BASE_API
 GstFlowReturn   gst_base_parse_finish_frame    (GstBaseParse * parse,
                                                 GstBaseParseFrame * frame,
                                                 gint size);
-
+GST_BASE_API
 void            gst_base_parse_set_duration    (GstBaseParse      * parse,
                                                 GstFormat           fmt,
                                                 gint64              duration,
                                                 gint                interval);
-
+GST_BASE_API
 void            gst_base_parse_set_average_bitrate (GstBaseParse   * parse,
                                                     guint            bitrate);
-
+GST_BASE_API
 void            gst_base_parse_set_min_frame_size (GstBaseParse    * parse,
                                                    guint             min_size);
-
+GST_BASE_API
 void            gst_base_parse_set_has_timing_info (GstBaseParse   * parse,
                                                     gboolean         has_timing);
-
+GST_BASE_API
 void            gst_base_parse_drain           (GstBaseParse * parse);
 
+GST_BASE_API
 void            gst_base_parse_set_syncable    (GstBaseParse * parse,
                                                 gboolean       syncable);
-
+GST_BASE_API
 void            gst_base_parse_set_passthrough (GstBaseParse * parse,
                                                 gboolean       passthrough);
-
+GST_BASE_API
 void            gst_base_parse_set_pts_interpolation (GstBaseParse * parse,
                                                       gboolean pts_interpolate);
-
+GST_BASE_API
 void            gst_base_parse_set_infer_ts (GstBaseParse * parse,
                                              gboolean infer_ts);
-
+GST_BASE_API
 void            gst_base_parse_set_frame_rate  (GstBaseParse * parse,
                                                 guint          fps_num,
                                                 guint          fps_den,
                                                 guint          lead_in,
                                                 guint          lead_out);
-
+GST_BASE_API
 void            gst_base_parse_set_latency     (GstBaseParse * parse,
                                                 GstClockTime min_latency,
                                                 GstClockTime max_latency);
-
+GST_BASE_API
 gboolean        gst_base_parse_convert_default (GstBaseParse * parse,
                                                 GstFormat      src_format,
                                                 gint64         src_value,
                                                 GstFormat      dest_format,
                                                 gint64       * dest_value);
-
+GST_BASE_API
 gboolean        gst_base_parse_add_index_entry (GstBaseParse * parse,
                                                 guint64        offset,
                                                 GstClockTime   ts,
                                                 gboolean       key,
                                                 gboolean       force);
-
+GST_BASE_API
 void            gst_base_parse_set_ts_at_offset (GstBaseParse *parse,
                                                  gsize offset);
-
+GST_BASE_API
 void            gst_base_parse_merge_tags       (GstBaseParse  * parse,
                                                  GstTagList    * tags,
                                                  GstTagMergeMode mode);
+
+#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstBaseParseFrame, gst_base_parse_frame_free)
+#endif
+
+#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstBaseParse, gst_object_unref)
+#endif
+
 #ifdef TIZEN_FEATURE_BASEPARSE_MODIFICATION
+GST_BASE_API
 void            gst_base_parse_get_upstream_size (GstBaseParse * parse,
                                                   gint64 * upstream_size);
 
+GST_BASE_API
 void            gst_base_parse_get_index_last_offset (GstBaseParse * parse,
                                                       gint64 * index_last_offset);
 
+GST_BASE_API
 void            gst_base_parse_get_index_last_ts (GstBaseParse * parse,
                                                   GstClockTime * index_last_ts);
 
+GST_BASE_API
 void            gst_base_parse_get_pad_mode (GstBaseParse * parse,
                                              GstPadMode * pad_mode);
 
+GST_BASE_API
 void            gst_base_parse_set_seek_mode (GstBaseParse * parse,
                                               gboolean       seek_mode);
 #endif
-
-#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
-G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstBaseParseFrame, gst_base_parse_frame_free)
-#endif
-
-#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
-G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstBaseParse, gst_object_unref)
-#endif
-
 G_END_DECLS
 
 #endif /* __GST_BASE_PARSE_H__ */