X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=libs%2Fgst%2Fbase%2Fgstadapter.h;h=3e7610e0eb5c3bc4416fa23688eded33d46b3506;hb=5bf13cdd5314bc3c6c81bd620e712acdcab14eb2;hp=9625a015dbd59233dfdb9b709ef50f41ede29dc2;hpb=da68b74b5decf590e7945a4590bfb183baac6f50;p=platform%2Fupstream%2Fgstreamer.git diff --git a/libs/gst/base/gstadapter.h b/libs/gst/base/gstadapter.h index 9625a01..3e7610e 100644 --- a/libs/gst/base/gstadapter.h +++ b/libs/gst/base/gstadapter.h @@ -22,6 +22,8 @@ #ifndef __GST_ADAPTER_H__ #define __GST_ADAPTER_H__ +#include + G_BEGIN_DECLS @@ -46,34 +48,104 @@ G_BEGIN_DECLS typedef struct _GstAdapter GstAdapter; typedef struct _GstAdapterClass GstAdapterClass; +GST_BASE_API GType gst_adapter_get_type (void); +GST_BASE_API GstAdapter * gst_adapter_new (void) G_GNUC_MALLOC; +GST_BASE_API void gst_adapter_clear (GstAdapter *adapter); + +GST_BASE_API void gst_adapter_push (GstAdapter *adapter, GstBuffer* buf); + +GST_BASE_API gconstpointer gst_adapter_map (GstAdapter *adapter, gsize size); + +GST_BASE_API void gst_adapter_unmap (GstAdapter *adapter); + +GST_BASE_API void gst_adapter_copy (GstAdapter *adapter, gpointer dest, gsize offset, gsize size); +GST_BASE_API +GBytes * gst_adapter_copy_bytes (GstAdapter *adapter, + gsize offset, gsize size); +GST_BASE_API void gst_adapter_flush (GstAdapter *adapter, gsize flush); + +GST_BASE_API gpointer gst_adapter_take (GstAdapter *adapter, gsize nbytes); + +GST_BASE_API GstBuffer* gst_adapter_take_buffer (GstAdapter *adapter, gsize nbytes); + +GST_BASE_API GList* gst_adapter_take_list (GstAdapter *adapter, gsize nbytes); + +GST_BASE_API +GstBuffer * gst_adapter_take_buffer_fast (GstAdapter *adapter, gsize nbytes); + +GST_BASE_API +GstBufferList * gst_adapter_take_buffer_list (GstAdapter *adapter, gsize nbytes); + +GST_BASE_API +GstBuffer* gst_adapter_get_buffer (GstAdapter *adapter, gsize nbytes); + +GST_BASE_API +GList* gst_adapter_get_list (GstAdapter *adapter, gsize nbytes); + +GST_BASE_API +GstBuffer * gst_adapter_get_buffer_fast (GstAdapter *adapter, gsize nbytes); + +GST_BASE_API +GstBufferList * gst_adapter_get_buffer_list (GstAdapter *adapter, gsize nbytes); + +GST_BASE_API gsize gst_adapter_available (GstAdapter *adapter); + +GST_BASE_API gsize gst_adapter_available_fast (GstAdapter *adapter); +GST_BASE_API GstClockTime gst_adapter_prev_pts (GstAdapter *adapter, guint64 *distance); + +GST_BASE_API GstClockTime gst_adapter_prev_dts (GstAdapter *adapter, guint64 *distance); + +GST_BASE_API GstClockTime gst_adapter_prev_pts_at_offset (GstAdapter * adapter, gsize offset, guint64 * distance); + +GST_BASE_API GstClockTime gst_adapter_prev_dts_at_offset (GstAdapter * adapter, gsize offset, guint64 * distance); +GST_BASE_API +guint64 gst_adapter_prev_offset (GstAdapter *adapter, guint64 *distance); + +GST_BASE_API +GstClockTime gst_adapter_pts_at_discont (GstAdapter *adapter); + +GST_BASE_API +GstClockTime gst_adapter_dts_at_discont (GstAdapter *adapter); + +GST_BASE_API +guint64 gst_adapter_offset_at_discont (GstAdapter *adapter); + +GST_BASE_API +guint64 gst_adapter_distance_from_discont (GstAdapter *adapter); + +GST_BASE_API gssize gst_adapter_masked_scan_uint32 (GstAdapter * adapter, guint32 mask, guint32 pattern, gsize offset, gsize size); - +GST_BASE_API gssize gst_adapter_masked_scan_uint32_peek (GstAdapter * adapter, guint32 mask, guint32 pattern, gsize offset, gsize size, guint32 * value); +#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstAdapter, gst_object_unref) +#endif + G_END_DECLS #endif /* __GST_ADAPTER_H__ */