X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=libs%2Fgst%2Fbase%2Fgstbaseparse.h;h=24fd9079c0cb6a32a1a5f99527f6969b44b06d74;hb=76c9b0689dce5e3c56887863576b573b50043760;hp=abf6321b8c3de2cdb87be2a3d813d8731cbd31b8;hpb=a837ff6581ba16180e89352a753296cd74a85a72;p=platform%2Fupstream%2Fgstreamer.git diff --git a/libs/gst/base/gstbaseparse.h b/libs/gst/base/gstbaseparse.h index abf6321..24fd907 100644 --- a/libs/gst/base/gstbaseparse.h +++ b/libs/gst/base/gstbaseparse.h @@ -23,6 +23,7 @@ #define __GST_BASE_PARSE_H__ #include +#include 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,78 +277,86 @@ 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); @@ -359,6 +369,27 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstBaseParseFrame, gst_base_parse_frame_free) 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 G_END_DECLS #endif /* __GST_BASE_PARSE_H__ */