From d8f23c9786e1e4e8b0bfdac0a3f3210d06e9ce60 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tim-Philipp=20M=C3=BCller?= Date: Tue, 9 May 2017 16:19:31 +0100 Subject: [PATCH] libs: base: mark symbols explicitly for export with GST_EXPORT --- libs/gst/base/gstadapter.h | 53 ++++++++++++++++- libs/gst/base/gstbaseparse.h | 38 ++++++------ libs/gst/base/gstbasesink.h | 57 +++++++++++++++++- libs/gst/base/gstbasesrc.h | 29 +++++++++- libs/gst/base/gstbasetransform.h | 22 ++++++- libs/gst/base/gstbitreader.h | 26 +++++++++ libs/gst/base/gstbytereader.h | 118 +++++++++++++++++++++++++++++++++++++- libs/gst/base/gstbytewriter.h | 75 +++++++++++++++++++++++- libs/gst/base/gstcollectpads.h | 42 +++++++++++++- libs/gst/base/gstdataqueue.h | 19 +++++- libs/gst/base/gstflowcombiner.h | 10 +++- libs/gst/base/gstpushsrc.h | 3 +- libs/gst/base/gstqueuearray.h | 20 +++++-- libs/gst/base/gsttypefindhelper.h | 7 ++- 14 files changed, 480 insertions(+), 39 deletions(-) diff --git a/libs/gst/base/gstadapter.h b/libs/gst/base/gstadapter.h index 23cc250..7215939 100644 --- a/libs/gst/base/gstadapter.h +++ b/libs/gst/base/gstadapter.h @@ -46,46 +46,97 @@ G_BEGIN_DECLS typedef struct _GstAdapter GstAdapter; typedef struct _GstAdapterClass GstAdapterClass; +GST_EXPORT GType gst_adapter_get_type (void); +GST_EXPORT GstAdapter * gst_adapter_new (void) G_GNUC_MALLOC; +GST_EXPORT void gst_adapter_clear (GstAdapter *adapter); + +GST_EXPORT void gst_adapter_push (GstAdapter *adapter, GstBuffer* buf); + +GST_EXPORT gconstpointer gst_adapter_map (GstAdapter *adapter, gsize size); + +GST_EXPORT void gst_adapter_unmap (GstAdapter *adapter); + +GST_EXPORT void gst_adapter_copy (GstAdapter *adapter, gpointer dest, gsize offset, gsize size); +GST_EXPORT GBytes * gst_adapter_copy_bytes (GstAdapter *adapter, gsize offset, gsize size); +GST_EXPORT void gst_adapter_flush (GstAdapter *adapter, gsize flush); + +GST_EXPORT gpointer gst_adapter_take (GstAdapter *adapter, gsize nbytes); + +GST_EXPORT GstBuffer* gst_adapter_take_buffer (GstAdapter *adapter, gsize nbytes); + +GST_EXPORT GList* gst_adapter_take_list (GstAdapter *adapter, gsize nbytes); + +GST_EXPORT GstBuffer * gst_adapter_take_buffer_fast (GstAdapter *adapter, gsize nbytes); + +GST_EXPORT GstBufferList * gst_adapter_take_buffer_list (GstAdapter *adapter, gsize nbytes); + +GST_EXPORT GstBuffer* gst_adapter_get_buffer (GstAdapter *adapter, gsize nbytes); + +GST_EXPORT GList* gst_adapter_get_list (GstAdapter *adapter, gsize nbytes); + +GST_EXPORT GstBuffer * gst_adapter_get_buffer_fast (GstAdapter *adapter, gsize nbytes); + +GST_EXPORT GstBufferList * gst_adapter_get_buffer_list (GstAdapter *adapter, gsize nbytes); + +GST_EXPORT gsize gst_adapter_available (GstAdapter *adapter); + +GST_EXPORT gsize gst_adapter_available_fast (GstAdapter *adapter); +GST_EXPORT GstClockTime gst_adapter_prev_pts (GstAdapter *adapter, guint64 *distance); + +GST_EXPORT GstClockTime gst_adapter_prev_dts (GstAdapter *adapter, guint64 *distance); + +GST_EXPORT GstClockTime gst_adapter_prev_pts_at_offset (GstAdapter * adapter, gsize offset, guint64 * distance); + +GST_EXPORT GstClockTime gst_adapter_prev_dts_at_offset (GstAdapter * adapter, gsize offset, guint64 * distance); + +GST_EXPORT guint64 gst_adapter_prev_offset (GstAdapter *adapter, guint64 *distance); +GST_EXPORT GstClockTime gst_adapter_pts_at_discont (GstAdapter *adapter); + +GST_EXPORT GstClockTime gst_adapter_dts_at_discont (GstAdapter *adapter); + +GST_EXPORT guint64 gst_adapter_offset_at_discont (GstAdapter *adapter); +GST_EXPORT guint64 gst_adapter_distance_from_discont (GstAdapter *adapter); +GST_EXPORT gssize gst_adapter_masked_scan_uint32 (GstAdapter * adapter, guint32 mask, guint32 pattern, gsize offset, gsize size); - +GST_EXPORT gssize gst_adapter_masked_scan_uint32_peek (GstAdapter * adapter, guint32 mask, guint32 pattern, gsize offset, gsize size, guint32 * value); diff --git a/libs/gst/base/gstbaseparse.h b/libs/gst/base/gstbaseparse.h index abf6321..d566f6d 100644 --- a/libs/gst/base/gstbaseparse.h +++ b/libs/gst/base/gstbaseparse.h @@ -275,78 +275,84 @@ struct _GstBaseParseClass { gpointer _gst_reserved[GST_PADDING_LARGE - 2]; }; +GST_EXPORT GType gst_base_parse_get_type (void); +GST_EXPORT GType gst_base_parse_frame_get_type (void); +GST_EXPORT GstBaseParseFrame * gst_base_parse_frame_new (GstBuffer * buffer, GstBaseParseFrameFlags flags, gint overhead); - +GST_EXPORT void gst_base_parse_frame_init (GstBaseParseFrame * frame); +GST_EXPORT void gst_base_parse_frame_free (GstBaseParseFrame * frame); +GST_EXPORT GstFlowReturn gst_base_parse_push_frame (GstBaseParse * parse, GstBaseParseFrame * frame); - +GST_EXPORT GstFlowReturn gst_base_parse_finish_frame (GstBaseParse * parse, GstBaseParseFrame * frame, gint size); - +GST_EXPORT void gst_base_parse_set_duration (GstBaseParse * parse, GstFormat fmt, gint64 duration, gint interval); - +GST_EXPORT void gst_base_parse_set_average_bitrate (GstBaseParse * parse, guint bitrate); - +GST_EXPORT void gst_base_parse_set_min_frame_size (GstBaseParse * parse, guint min_size); - +GST_EXPORT void gst_base_parse_set_has_timing_info (GstBaseParse * parse, gboolean has_timing); - +GST_EXPORT void gst_base_parse_drain (GstBaseParse * parse); +GST_EXPORT void gst_base_parse_set_syncable (GstBaseParse * parse, gboolean syncable); - +GST_EXPORT void gst_base_parse_set_passthrough (GstBaseParse * parse, gboolean passthrough); - +GST_EXPORT void gst_base_parse_set_pts_interpolation (GstBaseParse * parse, gboolean pts_interpolate); - +GST_EXPORT void gst_base_parse_set_infer_ts (GstBaseParse * parse, gboolean infer_ts); - +GST_EXPORT void gst_base_parse_set_frame_rate (GstBaseParse * parse, guint fps_num, guint fps_den, guint lead_in, guint lead_out); - +GST_EXPORT void gst_base_parse_set_latency (GstBaseParse * parse, GstClockTime min_latency, GstClockTime max_latency); - +GST_EXPORT gboolean gst_base_parse_convert_default (GstBaseParse * parse, GstFormat src_format, gint64 src_value, GstFormat dest_format, gint64 * dest_value); - +GST_EXPORT gboolean gst_base_parse_add_index_entry (GstBaseParse * parse, guint64 offset, GstClockTime ts, gboolean key, gboolean force); - +GST_EXPORT void gst_base_parse_set_ts_at_offset (GstBaseParse *parse, gsize offset); - +GST_EXPORT void gst_base_parse_merge_tags (GstBaseParse * parse, GstTagList * tags, GstTagMergeMode mode); diff --git a/libs/gst/base/gstbasesink.h b/libs/gst/base/gstbasesink.h index 802bd69..891cd56 100644 --- a/libs/gst/base/gstbasesink.h +++ b/libs/gst/base/gstbasesink.h @@ -201,63 +201,118 @@ struct _GstBaseSinkClass { gpointer _gst_reserved[GST_PADDING_LARGE]; }; -GType gst_base_sink_get_type(void); +GST_EXPORT +GType gst_base_sink_get_type (void); +GST_EXPORT GstFlowReturn gst_base_sink_do_preroll (GstBaseSink *sink, GstMiniObject *obj); + +GST_EXPORT GstFlowReturn gst_base_sink_wait_preroll (GstBaseSink *sink); /* synchronizing against the clock */ + +GST_EXPORT void gst_base_sink_set_sync (GstBaseSink *sink, gboolean sync); + +GST_EXPORT gboolean gst_base_sink_get_sync (GstBaseSink *sink); /* Drop buffers which are out of segment */ + +GST_EXPORT void gst_base_sink_set_drop_out_of_segment (GstBaseSink *sink, gboolean drop_out_of_segment); + +GST_EXPORT gboolean gst_base_sink_get_drop_out_of_segment (GstBaseSink *sink); /* dropping late buffers */ + +GST_EXPORT void gst_base_sink_set_max_lateness (GstBaseSink *sink, gint64 max_lateness); + +GST_EXPORT gint64 gst_base_sink_get_max_lateness (GstBaseSink *sink); /* performing QoS */ + +GST_EXPORT void gst_base_sink_set_qos_enabled (GstBaseSink *sink, gboolean enabled); + +GST_EXPORT gboolean gst_base_sink_is_qos_enabled (GstBaseSink *sink); /* doing async state changes */ + +GST_EXPORT void gst_base_sink_set_async_enabled (GstBaseSink *sink, gboolean enabled); + +GST_EXPORT gboolean gst_base_sink_is_async_enabled (GstBaseSink *sink); /* tuning synchronisation */ + +GST_EXPORT void gst_base_sink_set_ts_offset (GstBaseSink *sink, GstClockTimeDiff offset); + +GST_EXPORT GstClockTimeDiff gst_base_sink_get_ts_offset (GstBaseSink *sink); /* last sample */ + +GST_EXPORT GstSample * gst_base_sink_get_last_sample (GstBaseSink *sink); + +GST_EXPORT void gst_base_sink_set_last_sample_enabled (GstBaseSink *sink, gboolean enabled); + +GST_EXPORT gboolean gst_base_sink_is_last_sample_enabled (GstBaseSink *sink); /* latency */ + +GST_EXPORT gboolean gst_base_sink_query_latency (GstBaseSink *sink, gboolean *live, gboolean *upstream_live, GstClockTime *min_latency, GstClockTime *max_latency); +GST_EXPORT GstClockTime gst_base_sink_get_latency (GstBaseSink *sink); /* render delay */ + +GST_EXPORT void gst_base_sink_set_render_delay (GstBaseSink *sink, GstClockTime delay); + +GST_EXPORT GstClockTime gst_base_sink_get_render_delay (GstBaseSink *sink); /* blocksize */ + +GST_EXPORT void gst_base_sink_set_blocksize (GstBaseSink *sink, guint blocksize); + +GST_EXPORT guint gst_base_sink_get_blocksize (GstBaseSink *sink); /* throttle-time */ + +GST_EXPORT void gst_base_sink_set_throttle_time (GstBaseSink *sink, guint64 throttle); + +GST_EXPORT guint64 gst_base_sink_get_throttle_time (GstBaseSink *sink); /* max-bitrate */ + +GST_EXPORT void gst_base_sink_set_max_bitrate (GstBaseSink *sink, guint64 max_bitrate); + +GST_EXPORT guint64 gst_base_sink_get_max_bitrate (GstBaseSink *sink); +GST_EXPORT GstClockReturn gst_base_sink_wait_clock (GstBaseSink *sink, GstClockTime time, GstClockTimeDiff * jitter); +GST_EXPORT GstFlowReturn gst_base_sink_wait (GstBaseSink *sink, GstClockTime time, GstClockTimeDiff *jitter); diff --git a/libs/gst/base/gstbasesrc.h b/libs/gst/base/gstbasesrc.h index a89c8a8..9bdf69b 100644 --- a/libs/gst/base/gstbasesrc.h +++ b/libs/gst/base/gstbasesrc.h @@ -233,40 +233,65 @@ struct _GstBaseSrcClass { gpointer _gst_reserved[GST_PADDING_LARGE]; }; -GType gst_base_src_get_type (void); +GST_EXPORT +GType gst_base_src_get_type (void); +GST_EXPORT GstFlowReturn gst_base_src_wait_playing (GstBaseSrc *src); +GST_EXPORT void gst_base_src_set_live (GstBaseSrc *src, gboolean live); + +GST_EXPORT gboolean gst_base_src_is_live (GstBaseSrc *src); +GST_EXPORT void gst_base_src_set_format (GstBaseSrc *src, GstFormat format); +GST_EXPORT void gst_base_src_set_dynamic_size (GstBaseSrc * src, gboolean dynamic); +GST_EXPORT void gst_base_src_set_automatic_eos (GstBaseSrc * src, gboolean automatic_eos); +GST_EXPORT void gst_base_src_set_async (GstBaseSrc *src, gboolean async); + +GST_EXPORT gboolean gst_base_src_is_async (GstBaseSrc *src); +GST_EXPORT void gst_base_src_start_complete (GstBaseSrc * basesrc, GstFlowReturn ret); + +GST_EXPORT GstFlowReturn gst_base_src_start_wait (GstBaseSrc * basesrc); +GST_EXPORT gboolean gst_base_src_query_latency (GstBaseSrc *src, gboolean * live, GstClockTime * min_latency, GstClockTime * max_latency); - +GST_EXPORT void gst_base_src_set_blocksize (GstBaseSrc *src, guint blocksize); + +GST_EXPORT guint gst_base_src_get_blocksize (GstBaseSrc *src); +GST_EXPORT void gst_base_src_set_do_timestamp (GstBaseSrc *src, gboolean timestamp); + +GST_EXPORT gboolean gst_base_src_get_do_timestamp (GstBaseSrc *src); +GST_EXPORT gboolean gst_base_src_new_seamless_segment (GstBaseSrc *src, gint64 start, gint64 stop, gint64 time); +GST_EXPORT gboolean gst_base_src_set_caps (GstBaseSrc *src, GstCaps *caps); +GST_EXPORT GstBufferPool * gst_base_src_get_buffer_pool (GstBaseSrc *src); + +GST_EXPORT void gst_base_src_get_allocator (GstBaseSrc *src, GstAllocator **allocator, GstAllocationParams *params); diff --git a/libs/gst/base/gstbasetransform.h b/libs/gst/base/gstbasetransform.h index ee1bd7b..9c4f901 100644 --- a/libs/gst/base/gstbasetransform.h +++ b/libs/gst/base/gstbasetransform.h @@ -284,39 +284,55 @@ 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 diff --git a/libs/gst/base/gstbitreader.h b/libs/gst/base/gstbitreader.h index 240a7a3..cd00e17 100644 --- a/libs/gst/base/gstbitreader.h +++ b/libs/gst/base/gstbitreader.h @@ -50,29 +50,55 @@ typedef struct { gpointer _gst_reserved[GST_PADDING]; } GstBitReader; +GST_EXPORT GstBitReader * gst_bit_reader_new (const guint8 *data, guint size) G_GNUC_MALLOC; + +GST_EXPORT void gst_bit_reader_free (GstBitReader *reader); +GST_EXPORT void gst_bit_reader_init (GstBitReader *reader, const guint8 *data, guint size); +GST_EXPORT gboolean gst_bit_reader_set_pos (GstBitReader *reader, guint pos); + +GST_EXPORT guint gst_bit_reader_get_pos (const GstBitReader *reader); +GST_EXPORT guint gst_bit_reader_get_remaining (const GstBitReader *reader); +GST_EXPORT guint gst_bit_reader_get_size (const GstBitReader *reader); +GST_EXPORT gboolean gst_bit_reader_skip (GstBitReader *reader, guint nbits); + +GST_EXPORT gboolean gst_bit_reader_skip_to_byte (GstBitReader *reader); +GST_EXPORT gboolean gst_bit_reader_get_bits_uint8 (GstBitReader *reader, guint8 *val, guint nbits); + +GST_EXPORT gboolean gst_bit_reader_get_bits_uint16 (GstBitReader *reader, guint16 *val, guint nbits); + +GST_EXPORT gboolean gst_bit_reader_get_bits_uint32 (GstBitReader *reader, guint32 *val, guint nbits); + +GST_EXPORT gboolean gst_bit_reader_get_bits_uint64 (GstBitReader *reader, guint64 *val, guint nbits); +GST_EXPORT gboolean gst_bit_reader_peek_bits_uint8 (const GstBitReader *reader, guint8 *val, guint nbits); + +GST_EXPORT gboolean gst_bit_reader_peek_bits_uint16 (const GstBitReader *reader, guint16 *val, guint nbits); + +GST_EXPORT gboolean gst_bit_reader_peek_bits_uint32 (const GstBitReader *reader, guint32 *val, guint nbits); + +GST_EXPORT gboolean gst_bit_reader_peek_bits_uint64 (const GstBitReader *reader, guint64 *val, guint nbits); /** diff --git a/libs/gst/base/gstbytereader.h b/libs/gst/base/gstbytereader.h index dd66011..764be74 100644 --- a/libs/gst/base/gstbytereader.h +++ b/libs/gst/base/gstbytereader.h @@ -47,92 +47,201 @@ typedef struct { gpointer _gst_reserved[GST_PADDING]; } GstByteReader; +GST_EXPORT GstByteReader * gst_byte_reader_new (const guint8 *data, guint size) G_GNUC_MALLOC; + +GST_EXPORT void gst_byte_reader_free (GstByteReader *reader); +GST_EXPORT void gst_byte_reader_init (GstByteReader *reader, const guint8 *data, guint size); +GST_EXPORT gboolean gst_byte_reader_peek_sub_reader (GstByteReader * reader, GstByteReader * sub_reader, guint size); - +GST_EXPORT gboolean gst_byte_reader_get_sub_reader (GstByteReader * reader, GstByteReader * sub_reader, guint size); - +GST_EXPORT gboolean gst_byte_reader_set_pos (GstByteReader *reader, guint pos); + +GST_EXPORT guint gst_byte_reader_get_pos (const GstByteReader *reader); +GST_EXPORT guint gst_byte_reader_get_remaining (const GstByteReader *reader); +GST_EXPORT guint gst_byte_reader_get_size (const GstByteReader *reader); +GST_EXPORT gboolean gst_byte_reader_skip (GstByteReader *reader, guint nbytes); +GST_EXPORT gboolean gst_byte_reader_get_uint8 (GstByteReader *reader, guint8 *val); + +GST_EXPORT gboolean gst_byte_reader_get_int8 (GstByteReader *reader, gint8 *val); + +GST_EXPORT gboolean gst_byte_reader_get_uint16_le (GstByteReader *reader, guint16 *val); + +GST_EXPORT gboolean gst_byte_reader_get_int16_le (GstByteReader *reader, gint16 *val); + +GST_EXPORT gboolean gst_byte_reader_get_uint16_be (GstByteReader *reader, guint16 *val); + +GST_EXPORT gboolean gst_byte_reader_get_int16_be (GstByteReader *reader, gint16 *val); + +GST_EXPORT gboolean gst_byte_reader_get_uint24_le (GstByteReader *reader, guint32 *val); + +GST_EXPORT gboolean gst_byte_reader_get_int24_le (GstByteReader *reader, gint32 *val); + +GST_EXPORT gboolean gst_byte_reader_get_uint24_be (GstByteReader *reader, guint32 *val); + +GST_EXPORT gboolean gst_byte_reader_get_int24_be (GstByteReader *reader, gint32 *val); + +GST_EXPORT gboolean gst_byte_reader_get_uint32_le (GstByteReader *reader, guint32 *val); + +GST_EXPORT gboolean gst_byte_reader_get_int32_le (GstByteReader *reader, gint32 *val); + +GST_EXPORT gboolean gst_byte_reader_get_uint32_be (GstByteReader *reader, guint32 *val); + +GST_EXPORT gboolean gst_byte_reader_get_int32_be (GstByteReader *reader, gint32 *val); + +GST_EXPORT gboolean gst_byte_reader_get_uint64_le (GstByteReader *reader, guint64 *val); + +GST_EXPORT gboolean gst_byte_reader_get_int64_le (GstByteReader *reader, gint64 *val); + +GST_EXPORT gboolean gst_byte_reader_get_uint64_be (GstByteReader *reader, guint64 *val); + +GST_EXPORT gboolean gst_byte_reader_get_int64_be (GstByteReader *reader, gint64 *val); +GST_EXPORT gboolean gst_byte_reader_peek_uint8 (const GstByteReader *reader, guint8 *val); + +GST_EXPORT gboolean gst_byte_reader_peek_int8 (const GstByteReader *reader, gint8 *val); + +GST_EXPORT gboolean gst_byte_reader_peek_uint16_le (const GstByteReader *reader, guint16 *val); + +GST_EXPORT gboolean gst_byte_reader_peek_int16_le (const GstByteReader *reader, gint16 *val); + +GST_EXPORT gboolean gst_byte_reader_peek_uint16_be (const GstByteReader *reader, guint16 *val); + +GST_EXPORT gboolean gst_byte_reader_peek_int16_be (const GstByteReader *reader, gint16 *val); + +GST_EXPORT gboolean gst_byte_reader_peek_uint24_le (const GstByteReader *reader, guint32 *val); + +GST_EXPORT gboolean gst_byte_reader_peek_int24_le (const GstByteReader *reader, gint32 *val); + +GST_EXPORT gboolean gst_byte_reader_peek_uint24_be (const GstByteReader *reader, guint32 *val); + +GST_EXPORT gboolean gst_byte_reader_peek_int24_be (const GstByteReader *reader, gint32 *val); + +GST_EXPORT gboolean gst_byte_reader_peek_uint32_le (const GstByteReader *reader, guint32 *val); + +GST_EXPORT gboolean gst_byte_reader_peek_int32_le (const GstByteReader *reader, gint32 *val); + +GST_EXPORT gboolean gst_byte_reader_peek_uint32_be (const GstByteReader *reader, guint32 *val); + +GST_EXPORT gboolean gst_byte_reader_peek_int32_be (const GstByteReader *reader, gint32 *val); + +GST_EXPORT gboolean gst_byte_reader_peek_uint64_le (const GstByteReader *reader, guint64 *val); + +GST_EXPORT gboolean gst_byte_reader_peek_int64_le (const GstByteReader *reader, gint64 *val); + +GST_EXPORT gboolean gst_byte_reader_peek_uint64_be (const GstByteReader *reader, guint64 *val); + +GST_EXPORT gboolean gst_byte_reader_peek_int64_be (const GstByteReader *reader, gint64 *val); +GST_EXPORT gboolean gst_byte_reader_get_float32_le (GstByteReader *reader, gfloat *val); + +GST_EXPORT gboolean gst_byte_reader_get_float32_be (GstByteReader *reader, gfloat *val); + +GST_EXPORT gboolean gst_byte_reader_get_float64_le (GstByteReader *reader, gdouble *val); + +GST_EXPORT gboolean gst_byte_reader_get_float64_be (GstByteReader *reader, gdouble *val); +GST_EXPORT gboolean gst_byte_reader_peek_float32_le (const GstByteReader *reader, gfloat *val); + +GST_EXPORT gboolean gst_byte_reader_peek_float32_be (const GstByteReader *reader, gfloat *val); + +GST_EXPORT gboolean gst_byte_reader_peek_float64_le (const GstByteReader *reader, gdouble *val); + +GST_EXPORT gboolean gst_byte_reader_peek_float64_be (const GstByteReader *reader, gdouble *val); +GST_EXPORT gboolean gst_byte_reader_dup_data (GstByteReader * reader, guint size, guint8 ** val); + +GST_EXPORT gboolean gst_byte_reader_get_data (GstByteReader * reader, guint size, const guint8 ** val); + +GST_EXPORT gboolean gst_byte_reader_peek_data (const GstByteReader * reader, guint size, const guint8 ** val); #define gst_byte_reader_dup_string(reader,str) \ gst_byte_reader_dup_string_utf8(reader,str) +GST_EXPORT gboolean gst_byte_reader_dup_string_utf8 (GstByteReader * reader, gchar ** str); + +GST_EXPORT gboolean gst_byte_reader_dup_string_utf16 (GstByteReader * reader, guint16 ** str); + +GST_EXPORT gboolean gst_byte_reader_dup_string_utf32 (GstByteReader * reader, guint32 ** str); #define gst_byte_reader_skip_string(reader) \ gst_byte_reader_skip_string_utf8(reader) +GST_EXPORT gboolean gst_byte_reader_skip_string_utf8 (GstByteReader * reader); + +GST_EXPORT gboolean gst_byte_reader_skip_string_utf16 (GstByteReader * reader); + +GST_EXPORT gboolean gst_byte_reader_skip_string_utf32 (GstByteReader * reader); #define gst_byte_reader_get_string(reader,str) \ @@ -141,14 +250,19 @@ gboolean gst_byte_reader_skip_string_utf32 (GstByteReader * reader); #define gst_byte_reader_peek_string(reader,str) \ gst_byte_reader_peek_string_utf8(reader,str) +GST_EXPORT gboolean gst_byte_reader_get_string_utf8 (GstByteReader * reader, const gchar ** str); + +GST_EXPORT gboolean gst_byte_reader_peek_string_utf8 (const GstByteReader * reader, const gchar ** str); +GST_EXPORT guint gst_byte_reader_masked_scan_uint32 (const GstByteReader * reader, guint32 mask, guint32 pattern, guint offset, guint size); +GST_EXPORT guint gst_byte_reader_masked_scan_uint32_peek (const GstByteReader * reader, guint32 mask, guint32 pattern, diff --git a/libs/gst/base/gstbytewriter.h b/libs/gst/base/gstbytewriter.h index c01bfcb..d957db4 100644 --- a/libs/gst/base/gstbytewriter.h +++ b/libs/gst/base/gstbytewriter.h @@ -51,21 +51,40 @@ typedef struct { gpointer _gst_reserved[GST_PADDING]; } GstByteWriter; +GST_EXPORT GstByteWriter * gst_byte_writer_new (void) G_GNUC_MALLOC; + +GST_EXPORT GstByteWriter * gst_byte_writer_new_with_size (guint size, gboolean fixed) G_GNUC_MALLOC; + +GST_EXPORT GstByteWriter * gst_byte_writer_new_with_data (guint8 *data, guint size, gboolean initialized) G_GNUC_MALLOC; +GST_EXPORT void gst_byte_writer_init (GstByteWriter *writer); + +GST_EXPORT void gst_byte_writer_init_with_size (GstByteWriter *writer, guint size, gboolean fixed); + +GST_EXPORT void gst_byte_writer_init_with_data (GstByteWriter *writer, guint8 *data, guint size, gboolean initialized); - +GST_EXPORT void gst_byte_writer_free (GstByteWriter *writer); + +GST_EXPORT guint8 * gst_byte_writer_free_and_get_data (GstByteWriter *writer); + +GST_EXPORT GstBuffer * gst_byte_writer_free_and_get_buffer (GstByteWriter *writer) G_GNUC_MALLOC; +GST_EXPORT void gst_byte_writer_reset (GstByteWriter *writer); + +GST_EXPORT guint8 * gst_byte_writer_reset_and_get_data (GstByteWriter *writer); + +GST_EXPORT GstBuffer * gst_byte_writer_reset_and_get_buffer (GstByteWriter *writer) G_GNUC_MALLOC; /** @@ -108,37 +127,91 @@ gst_byte_writer_get_size (const GstByteWriter *writer) return gst_byte_reader_get_size ((const GstByteReader *) writer); } +GST_EXPORT guint gst_byte_writer_get_remaining (const GstByteWriter *writer); + +GST_EXPORT gboolean gst_byte_writer_ensure_free_space (GstByteWriter *writer, guint size); +GST_EXPORT gboolean gst_byte_writer_put_uint8 (GstByteWriter *writer, guint8 val); + +GST_EXPORT gboolean gst_byte_writer_put_int8 (GstByteWriter *writer, gint8 val); + +GST_EXPORT gboolean gst_byte_writer_put_uint16_be (GstByteWriter *writer, guint16 val); + +GST_EXPORT gboolean gst_byte_writer_put_uint16_le (GstByteWriter *writer, guint16 val); + +GST_EXPORT gboolean gst_byte_writer_put_int16_be (GstByteWriter *writer, gint16 val); + +GST_EXPORT gboolean gst_byte_writer_put_int16_le (GstByteWriter *writer, gint16 val); + +GST_EXPORT gboolean gst_byte_writer_put_uint24_be (GstByteWriter *writer, guint32 val); + +GST_EXPORT gboolean gst_byte_writer_put_uint24_le (GstByteWriter *writer, guint32 val); + +GST_EXPORT gboolean gst_byte_writer_put_int24_be (GstByteWriter *writer, gint32 val); + +GST_EXPORT gboolean gst_byte_writer_put_int24_le (GstByteWriter *writer, gint32 val); + +GST_EXPORT gboolean gst_byte_writer_put_uint32_be (GstByteWriter *writer, guint32 val); + +GST_EXPORT gboolean gst_byte_writer_put_uint32_le (GstByteWriter *writer, guint32 val); + +GST_EXPORT gboolean gst_byte_writer_put_int32_be (GstByteWriter *writer, gint32 val); + +GST_EXPORT gboolean gst_byte_writer_put_int32_le (GstByteWriter *writer, gint32 val); + +GST_EXPORT gboolean gst_byte_writer_put_uint64_be (GstByteWriter *writer, guint64 val); + +GST_EXPORT gboolean gst_byte_writer_put_uint64_le (GstByteWriter *writer, guint64 val); + +GST_EXPORT gboolean gst_byte_writer_put_int64_be (GstByteWriter *writer, gint64 val); + +GST_EXPORT gboolean gst_byte_writer_put_int64_le (GstByteWriter *writer, gint64 val); +GST_EXPORT gboolean gst_byte_writer_put_float32_be (GstByteWriter *writer, gfloat val); + +GST_EXPORT gboolean gst_byte_writer_put_float32_le (GstByteWriter *writer, gfloat val); + +GST_EXPORT gboolean gst_byte_writer_put_float64_be (GstByteWriter *writer, gdouble val); + +GST_EXPORT gboolean gst_byte_writer_put_float64_le (GstByteWriter *writer, gdouble val); +GST_EXPORT gboolean gst_byte_writer_put_data (GstByteWriter *writer, const guint8 *data, guint size); + +GST_EXPORT gboolean gst_byte_writer_fill (GstByteWriter *writer, guint8 value, guint size); + +GST_EXPORT gboolean gst_byte_writer_put_string_utf8 (GstByteWriter *writer, const gchar *data); + +GST_EXPORT gboolean gst_byte_writer_put_string_utf16 (GstByteWriter *writer, const guint16 *data); + +GST_EXPORT gboolean gst_byte_writer_put_string_utf32 (GstByteWriter *writer, const guint32 *data); gboolean gst_byte_writer_put_buffer (GstByteWriter *writer, GstBuffer * buffer, gsize offset, gssize size); diff --git a/libs/gst/base/gstcollectpads.h b/libs/gst/base/gstcollectpads.h index 0a73785..cb0527c 100644 --- a/libs/gst/base/gstcollectpads.h +++ b/libs/gst/base/gstcollectpads.h @@ -339,73 +339,111 @@ struct _GstCollectPadsClass { gpointer _gst_reserved[GST_PADDING]; }; -GType gst_collect_pads_get_type(void); +GST_EXPORT +GType gst_collect_pads_get_type (void); /* creating the object */ -GstCollectPads* gst_collect_pads_new (void); + +GST_EXPORT +GstCollectPads* gst_collect_pads_new (void); /* set the callbacks */ + +GST_EXPORT void gst_collect_pads_set_function (GstCollectPads *pads, GstCollectPadsFunction func, gpointer user_data); +GST_EXPORT void gst_collect_pads_set_buffer_function (GstCollectPads *pads, GstCollectPadsBufferFunction func, gpointer user_data); +GST_EXPORT void gst_collect_pads_set_event_function (GstCollectPads *pads, GstCollectPadsEventFunction func, gpointer user_data); +GST_EXPORT void gst_collect_pads_set_query_function (GstCollectPads *pads, GstCollectPadsQueryFunction func, gpointer user_data); +GST_EXPORT void gst_collect_pads_set_compare_function (GstCollectPads *pads, GstCollectPadsCompareFunction func, gpointer user_data); +GST_EXPORT void gst_collect_pads_set_clip_function (GstCollectPads *pads, GstCollectPadsClipFunction clipfunc, gpointer user_data); +GST_EXPORT void gst_collect_pads_set_flush_function (GstCollectPads *pads, GstCollectPadsFlushFunction func, gpointer user_data); /* pad management */ + +GST_EXPORT GstCollectData* gst_collect_pads_add_pad (GstCollectPads *pads, GstPad *pad, guint size, GstCollectDataDestroyNotify destroy_notify, gboolean lock); +GST_EXPORT gboolean gst_collect_pads_remove_pad (GstCollectPads *pads, GstPad *pad); /* start/stop collection */ + +GST_EXPORT void gst_collect_pads_start (GstCollectPads *pads); + +GST_EXPORT void gst_collect_pads_stop (GstCollectPads *pads); + +GST_EXPORT void gst_collect_pads_set_flushing (GstCollectPads *pads, gboolean flushing); /* get collected buffers */ + +GST_EXPORT GstBuffer* gst_collect_pads_peek (GstCollectPads *pads, GstCollectData *data); + +GST_EXPORT GstBuffer* gst_collect_pads_pop (GstCollectPads *pads, GstCollectData *data); /* get collected bytes */ + +GST_EXPORT guint gst_collect_pads_available (GstCollectPads *pads); + +GST_EXPORT guint gst_collect_pads_flush (GstCollectPads *pads, GstCollectData *data, guint size); +GST_EXPORT GstBuffer* gst_collect_pads_read_buffer (GstCollectPads * pads, GstCollectData * data, guint size); +GST_EXPORT GstBuffer* gst_collect_pads_take_buffer (GstCollectPads * pads, GstCollectData * data, guint size); /* setting and unsetting waiting mode */ + +GST_EXPORT void gst_collect_pads_set_waiting (GstCollectPads *pads, GstCollectData *data, gboolean waiting); /* convenience helper */ + +GST_EXPORT GstFlowReturn gst_collect_pads_clip_running_time (GstCollectPads * pads, GstCollectData * cdata, GstBuffer * buf, GstBuffer ** outbuf, gpointer user_data); /* default handlers */ + +GST_EXPORT gboolean gst_collect_pads_event_default (GstCollectPads * pads, GstCollectData * data, GstEvent * event, gboolean discard); +GST_EXPORT gboolean gst_collect_pads_src_event_default (GstCollectPads * pads, GstPad * pad, GstEvent * event); +GST_EXPORT gboolean gst_collect_pads_query_default (GstCollectPads * pads, GstCollectData * data, GstQuery * query, gboolean discard); diff --git a/libs/gst/base/gstdataqueue.h b/libs/gst/base/gstdataqueue.h index 301e17b..c2f86bb 100644 --- a/libs/gst/base/gstdataqueue.h +++ b/libs/gst/base/gstdataqueue.h @@ -36,6 +36,7 @@ G_BEGIN_DECLS (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DATA_QUEUE)) #define GST_IS_DATA_QUEUE_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DATA_QUEUE)) + typedef struct _GstDataQueue GstDataQueue; typedef struct _GstDataQueueClass GstDataQueueClass; typedef struct _GstDataQueueSize GstDataQueueSize; @@ -134,31 +135,45 @@ struct _GstDataQueueClass gpointer _gst_reserved[GST_PADDING]; }; -GType gst_data_queue_get_type (void); +GST_EXPORT +GType gst_data_queue_get_type (void); +GST_EXPORT GstDataQueue * gst_data_queue_new (GstDataQueueCheckFullFunction checkfull, GstDataQueueFullCallback fullcallback, GstDataQueueEmptyCallback emptycallback, gpointer checkdata) G_GNUC_MALLOC; - +GST_EXPORT gboolean gst_data_queue_push (GstDataQueue * queue, GstDataQueueItem * item); + +GST_EXPORT gboolean gst_data_queue_push_force (GstDataQueue * queue, GstDataQueueItem * item); +GST_EXPORT gboolean gst_data_queue_pop (GstDataQueue * queue, GstDataQueueItem ** item); + +GST_EXPORT gboolean gst_data_queue_peek (GstDataQueue * queue, GstDataQueueItem ** item); +GST_EXPORT void gst_data_queue_flush (GstDataQueue * queue); +GST_EXPORT void gst_data_queue_set_flushing (GstDataQueue * queue, gboolean flushing); +GST_EXPORT gboolean gst_data_queue_drop_head (GstDataQueue * queue, GType type); +GST_EXPORT gboolean gst_data_queue_is_full (GstDataQueue * queue); +GST_EXPORT gboolean gst_data_queue_is_empty (GstDataQueue * queue); +GST_EXPORT void gst_data_queue_get_level (GstDataQueue * queue, GstDataQueueSize *level); +GST_EXPORT void gst_data_queue_limits_changed (GstDataQueue * queue); #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC diff --git a/libs/gst/base/gstflowcombiner.h b/libs/gst/base/gstflowcombiner.h index 2ea3937..6a04212 100644 --- a/libs/gst/base/gstflowcombiner.h +++ b/libs/gst/base/gstflowcombiner.h @@ -41,23 +41,31 @@ G_BEGIN_DECLS */ typedef struct _GstFlowCombiner GstFlowCombiner; +GST_EXPORT GstFlowCombiner * gst_flow_combiner_new (void); +GST_EXPORT void gst_flow_combiner_free (GstFlowCombiner * combiner); +GST_EXPORT GstFlowReturn gst_flow_combiner_update_flow (GstFlowCombiner * combiner, GstFlowReturn fret); +GST_EXPORT GstFlowReturn gst_flow_combiner_update_pad_flow (GstFlowCombiner * combiner, GstPad * pad, GstFlowReturn fret); - +GST_EXPORT void gst_flow_combiner_add_pad (GstFlowCombiner * combiner, GstPad * pad); +GST_EXPORT void gst_flow_combiner_remove_pad (GstFlowCombiner * combiner, GstPad * pad); +GST_EXPORT void gst_flow_combiner_clear (GstFlowCombiner * combiner); +GST_EXPORT void gst_flow_combiner_reset (GstFlowCombiner * combiner); +GST_EXPORT GType gst_flow_combiner_get_type (void); #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC diff --git a/libs/gst/base/gstpushsrc.h b/libs/gst/base/gstpushsrc.h index 3419730..2cb6565 100644 --- a/libs/gst/base/gstpushsrc.h +++ b/libs/gst/base/gstpushsrc.h @@ -82,7 +82,8 @@ struct _GstPushSrcClass { gpointer _gst_reserved[GST_PADDING]; }; -GType gst_push_src_get_type(void); +GST_EXPORT +GType gst_push_src_get_type (void); #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstPushSrc, gst_object_unref) diff --git a/libs/gst/base/gstqueuearray.h b/libs/gst/base/gstqueuearray.h index 917c65d..4c76ec3 100644 --- a/libs/gst/base/gstqueuearray.h +++ b/libs/gst/base/gstqueuearray.h @@ -31,39 +31,49 @@ G_BEGIN_DECLS */ typedef struct _GstQueueArray GstQueueArray; +GST_EXPORT GstQueueArray * gst_queue_array_new (guint initial_size); +GST_EXPORT void gst_queue_array_free (GstQueueArray * array); +GST_EXPORT gpointer gst_queue_array_pop_head (GstQueueArray * array); + +GST_EXPORT gpointer gst_queue_array_peek_head (GstQueueArray * array); +GST_EXPORT void gst_queue_array_push_tail (GstQueueArray * array, gpointer data); - +GST_EXPORT gboolean gst_queue_array_is_empty (GstQueueArray * array); +GST_EXPORT gpointer gst_queue_array_drop_element (GstQueueArray * array, guint idx); - +GST_EXPORT guint gst_queue_array_find (GstQueueArray * array, GCompareFunc func, gpointer data); - +GST_EXPORT guint gst_queue_array_get_length (GstQueueArray * array); /* Functions for use with structures */ +GST_EXPORT GstQueueArray * gst_queue_array_new_for_struct (gsize struct_size, guint initial_size); - +GST_EXPORT void gst_queue_array_push_tail_struct (GstQueueArray * array, gpointer p_struct); - +GST_EXPORT gpointer gst_queue_array_pop_head_struct (GstQueueArray * array); +GST_EXPORT gpointer gst_queue_array_peek_head_struct (GstQueueArray * array); +GST_EXPORT gboolean gst_queue_array_drop_struct (GstQueueArray * array, guint idx, gpointer p_struct); diff --git a/libs/gst/base/gsttypefindhelper.h b/libs/gst/base/gsttypefindhelper.h index 6770e4f..77406b3 100644 --- a/libs/gst/base/gsttypefindhelper.h +++ b/libs/gst/base/gsttypefindhelper.h @@ -28,16 +28,19 @@ G_BEGIN_DECLS +GST_EXPORT GstCaps * gst_type_find_helper (GstPad *src, guint64 size); +GST_EXPORT GstCaps * gst_type_find_helper_for_data (GstObject *obj, const guint8 *data, gsize size, GstTypeFindProbability *prob); +GST_EXPORT GstCaps * gst_type_find_helper_for_buffer (GstObject *obj, GstBuffer *buf, GstTypeFindProbability *prob); - +GST_EXPORT GstCaps * gst_type_find_helper_for_extension (GstObject * obj, const gchar * extension); @@ -64,7 +67,7 @@ typedef GstFlowReturn (*GstTypeFindHelperGetRangeFunction) (GstObject *obj, guint64 offset, guint length, GstBuffer **buffer); - +GST_EXPORT GstCaps * gst_type_find_helper_get_range (GstObject *obj, GstObject *parent, GstTypeFindHelperGetRangeFunction func, -- 2.7.4