gst: mark symbols explicitly for export with GST_EXPORT

One omission: gst_allocator_sysmem_get_type() was
exported but never in any public header file.
This commit is contained in:
Tim-Philipp Müller 2017-05-10 10:56:16 +01:00
parent c811e86d6b
commit 92d3246f76
70 changed files with 2331 additions and 173 deletions

View file

@ -252,9 +252,9 @@ noinst_HEADERS = \
gstenumtypes.h: $(gst_headers)
$(AM_V_GEN)$(GLIB_MKENUMS) \
--fhead "#ifndef __GST_ENUM_TYPES_H__\n#define __GST_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
--fhead "#ifndef __GST_ENUM_TYPES_H__\n#define __GST_ENUM_TYPES_H__\n\n#include <glib-object.h>\n#include <gst/gstconfig.h>\n\nG_BEGIN_DECLS\n" \
--fprod "\n/* enumerations from \"@filename@\" */\n" \
--vhead "GType @enum_name@_get_type (void);\n#define GST_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
--vhead "GST_EXPORT GType @enum_name@_get_type (void);\n#define GST_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
--ftail "G_END_DECLS\n\n#endif /* __GST_ENUM_TYPES_H__ */" \
$^ > gstenumtypes.h

View file

@ -96,23 +96,40 @@
G_BEGIN_DECLS
GST_EXPORT
void gst_init (int *argc, char **argv[]);
GST_EXPORT
gboolean gst_init_check (int *argc, char **argv[],
GError ** err);
GST_EXPORT
gboolean gst_is_initialized (void);
GST_EXPORT
GOptionGroup * gst_init_get_option_group (void);
GST_EXPORT
void gst_deinit (void);
GST_EXPORT
void gst_version (guint *major, guint *minor,
guint *micro, guint *nano);
GST_EXPORT
gchar * gst_version_string (void);
GST_EXPORT
gboolean gst_segtrap_is_enabled (void);
GST_EXPORT
void gst_segtrap_set_enabled (gboolean enabled);
GST_EXPORT
gboolean gst_registry_fork_is_enabled (void);
GST_EXPORT
void gst_registry_fork_set_enabled (gboolean enabled);
GST_EXPORT
gboolean gst_update_registry (void);
G_END_DECLS

View file

@ -144,6 +144,7 @@ gboolean _priv_gst_registry_remove_cache_plugins (GstRegistry *registry);
G_GNUC_INTERNAL void _priv_gst_registry_cleanup (void);
GST_EXPORT
gboolean _gst_plugin_loader_client_run (void);
G_GNUC_INTERNAL GstPlugin * _priv_gst_plugin_load_file_for_registry (const gchar *filename,
@ -224,6 +225,7 @@ GstCapsFeatures * __gst_caps_get_features_unchecked (const GstCaps * caps, guint
#ifndef GST_DISABLE_REGISTRY
/* Secret variable to initialise gst without registry cache */
GST_EXPORT gboolean _gst_disable_registry_cache;
#endif

View file

@ -40,6 +40,8 @@ typedef struct _GstAllocatorClass GstAllocatorClass;
#define GST_ALLOCATOR_CAST(obj) ((GstAllocator *)(obj))
#define GST_TYPE_ALLOCATION_PARAMS (gst_allocation_params_get_type())
GST_EXPORT
GType gst_allocation_params_get_type(void);
typedef struct _GstAllocationParams GstAllocationParams;
@ -50,6 +52,7 @@ typedef struct _GstAllocationParams GstAllocationParams;
* The default memory alignment in bytes - 1
* an alignment of 7 would be the same as what malloc() guarantees.
*/
GST_EXPORT gsize gst_memory_alignment;
/**
@ -148,24 +151,42 @@ struct _GstAllocatorClass {
gpointer _gst_reserved[GST_PADDING];
};
GType gst_allocator_get_type(void);
GST_EXPORT
GType gst_allocator_get_type (void);
/* allocators */
GST_EXPORT
void gst_allocator_register (const gchar *name, GstAllocator *allocator);
GST_EXPORT
GstAllocator * gst_allocator_find (const gchar *name);
GST_EXPORT
void gst_allocator_set_default (GstAllocator * allocator);
/* allocation parameters */
GST_EXPORT
void gst_allocation_params_init (GstAllocationParams *params);
GST_EXPORT
GstAllocationParams *
gst_allocation_params_copy (const GstAllocationParams *params) G_GNUC_MALLOC;
GST_EXPORT
void gst_allocation_params_free (GstAllocationParams *params);
/* allocating memory blocks */
GST_EXPORT
GstMemory * gst_allocator_alloc (GstAllocator * allocator, gsize size,
GstAllocationParams *params);
GST_EXPORT
void gst_allocator_free (GstAllocator * allocator, GstMemory *memory);
GST_EXPORT
GstMemory * gst_memory_new_wrapped (GstMemoryFlags flags, gpointer data, gsize maxsize,
gsize offset, gsize size, gpointer user_data,
GDestroyNotify notify);

View file

@ -22,6 +22,7 @@
#include <glib.h>
#include <glib-object.h>
#include <gst/gstconfig.h>
#ifndef __GST_ATOMIC_QUEUE_H__
#define __GST_ATOMIC_QUEUE_H__
@ -40,17 +41,28 @@ G_BEGIN_DECLS
typedef struct _GstAtomicQueue GstAtomicQueue;
GST_EXPORT
GType gst_atomic_queue_get_type (void);
GST_EXPORT
GstAtomicQueue * gst_atomic_queue_new (guint initial_size) G_GNUC_MALLOC;
GST_EXPORT
void gst_atomic_queue_ref (GstAtomicQueue * queue);
GST_EXPORT
void gst_atomic_queue_unref (GstAtomicQueue * queue);
GST_EXPORT
void gst_atomic_queue_push (GstAtomicQueue* queue, gpointer data);
GST_EXPORT
gpointer gst_atomic_queue_pop (GstAtomicQueue* queue);
GST_EXPORT
gpointer gst_atomic_queue_peek (GstAtomicQueue* queue);
GST_EXPORT
guint gst_atomic_queue_length (GstAtomicQueue * queue);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -192,32 +192,62 @@ struct _GstBinClass {
gpointer _gst_reserved[GST_PADDING-2];
};
GST_EXPORT
GType gst_bin_get_type (void);
GST_EXPORT
GstElement* gst_bin_new (const gchar *name);
/* add and remove elements from the bin */
GST_EXPORT
gboolean gst_bin_add (GstBin *bin, GstElement *element);
GST_EXPORT
gboolean gst_bin_remove (GstBin *bin, GstElement *element);
/* retrieve a single child */
GST_EXPORT
GstElement* gst_bin_get_by_name (GstBin *bin, const gchar *name);
GST_EXPORT
GstElement* gst_bin_get_by_name_recurse_up (GstBin *bin, const gchar *name);
GST_EXPORT
GstElement* gst_bin_get_by_interface (GstBin *bin, GType iface);
/* retrieve multiple children */
GST_EXPORT
GstIterator* gst_bin_iterate_elements (GstBin *bin);
GST_EXPORT
GstIterator* gst_bin_iterate_sorted (GstBin *bin);
GST_EXPORT
GstIterator* gst_bin_iterate_recurse (GstBin *bin);
GST_EXPORT
GstIterator* gst_bin_iterate_sinks (GstBin *bin);
GST_EXPORT
GstIterator* gst_bin_iterate_sources (GstBin *bin);
GST_EXPORT
GstIterator* gst_bin_iterate_all_by_interface (GstBin *bin, GType iface);
/* latency */
GST_EXPORT
gboolean gst_bin_recalculate_latency (GstBin * bin);
/* set and get suppressed flags */
GST_EXPORT
void gst_bin_set_suppressed_flags (GstBin * bin, GstElementFlags flags);
GST_EXPORT
GstElementFlags gst_bin_get_suppressed_flags (GstBin * bin);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -271,73 +271,133 @@ struct _GstBuffer {
guint64 offset_end;
};
GST_EXPORT
GType gst_buffer_get_type (void);
GST_EXPORT
guint gst_buffer_get_max_memory (void);
/* allocation */
GST_EXPORT
GstBuffer * gst_buffer_new (void);
GST_EXPORT
GstBuffer * gst_buffer_new_allocate (GstAllocator * allocator, gsize size,
GstAllocationParams * params);
GST_EXPORT
GstBuffer * gst_buffer_new_wrapped_full (GstMemoryFlags flags, gpointer data, gsize maxsize,
gsize offset, gsize size, gpointer user_data,
GDestroyNotify notify);
GST_EXPORT
GstBuffer * gst_buffer_new_wrapped (gpointer data, gsize size);
/* memory blocks */
GST_EXPORT
guint gst_buffer_n_memory (GstBuffer *buffer);
GST_EXPORT
void gst_buffer_insert_memory (GstBuffer *buffer, gint idx, GstMemory *mem);
GST_EXPORT
void gst_buffer_replace_memory_range (GstBuffer *buffer, guint idx, gint length, GstMemory *mem);
GST_EXPORT
GstMemory * gst_buffer_peek_memory (GstBuffer *buffer, guint idx);
GST_EXPORT
GstMemory * gst_buffer_get_memory_range (GstBuffer *buffer, guint idx, gint length);
GST_EXPORT
void gst_buffer_remove_memory_range (GstBuffer *buffer, guint idx, gint length);
GST_EXPORT
void gst_buffer_prepend_memory (GstBuffer *buffer, GstMemory *mem);
GST_EXPORT
void gst_buffer_append_memory (GstBuffer *buffer, GstMemory *mem);
GST_EXPORT
void gst_buffer_replace_memory (GstBuffer *buffer, guint idx, GstMemory *mem);
GST_EXPORT
void gst_buffer_replace_all_memory (GstBuffer *buffer, GstMemory *mem);
GST_EXPORT
GstMemory * gst_buffer_get_memory (GstBuffer *buffer, guint idx);
GST_EXPORT
GstMemory * gst_buffer_get_all_memory (GstBuffer *buffer);
GST_EXPORT
void gst_buffer_remove_memory (GstBuffer *buffer, guint idx);
GST_EXPORT
void gst_buffer_remove_all_memory (GstBuffer *buffer);
GST_EXPORT
gboolean gst_buffer_find_memory (GstBuffer *buffer, gsize offset, gsize size,
guint *idx, guint *length, gsize *skip);
GST_EXPORT
gboolean gst_buffer_is_memory_range_writable (GstBuffer *buffer, guint idx, gint length);
GST_EXPORT
gboolean gst_buffer_is_all_memory_writable (GstBuffer *buffer);
GST_EXPORT
gsize gst_buffer_fill (GstBuffer *buffer, gsize offset,
gconstpointer src, gsize size);
GST_EXPORT
gsize gst_buffer_extract (GstBuffer *buffer, gsize offset,
gpointer dest, gsize size);
GST_EXPORT
gint gst_buffer_memcmp (GstBuffer *buffer, gsize offset,
gconstpointer mem, gsize size);
GST_EXPORT
gsize gst_buffer_memset (GstBuffer *buffer, gsize offset,
guint8 val, gsize size);
GST_EXPORT
gsize gst_buffer_get_sizes_range (GstBuffer *buffer, guint idx, gint length,
gsize *offset, gsize *maxsize);
GST_EXPORT
gboolean gst_buffer_resize_range (GstBuffer *buffer, guint idx, gint length,
gssize offset, gssize size);
GST_EXPORT
gsize gst_buffer_get_sizes (GstBuffer *buffer, gsize *offset, gsize *maxsize);
GST_EXPORT
gsize gst_buffer_get_size (GstBuffer *buffer);
GST_EXPORT
void gst_buffer_resize (GstBuffer *buffer, gssize offset, gssize size);
GST_EXPORT
void gst_buffer_set_size (GstBuffer *buffer, gssize size);
GST_EXPORT
gboolean gst_buffer_map_range (GstBuffer *buffer, guint idx, gint length,
GstMapInfo *info, GstMapFlags flags);
GST_EXPORT
gboolean gst_buffer_map (GstBuffer *buffer, GstMapInfo *info, GstMapFlags flags);
GST_EXPORT
void gst_buffer_unmap (GstBuffer *buffer, GstMapInfo *info);
GST_EXPORT
void gst_buffer_extract_dup (GstBuffer *buffer, gsize offset,
gsize size, gpointer *dest,
gsize *dest_size);
GST_EXPORT
GstBufferFlags gst_buffer_get_flags (GstBuffer * buffer);
GST_EXPORT
gboolean gst_buffer_has_flags (GstBuffer * buffer, GstBufferFlags flags);
GST_EXPORT
gboolean gst_buffer_set_flags (GstBuffer * buffer, GstBufferFlags flags);
GST_EXPORT
gboolean gst_buffer_unset_flags (GstBuffer * buffer, GstBufferFlags flags);
@ -395,6 +455,7 @@ gst_buffer_copy (const GstBuffer * buf)
return GST_BUFFER (gst_mini_object_copy (GST_MINI_OBJECT_CONST_CAST (buf)));
}
GST_EXPORT
GstBuffer * gst_buffer_copy_deep (const GstBuffer * buf);
/**
@ -445,6 +506,8 @@ typedef enum {
#define GST_BUFFER_COPY_ALL ((GstBufferCopyFlags)(GST_BUFFER_COPY_METADATA | GST_BUFFER_COPY_MEMORY))
/* copies memory or metadata into newly allocated buffer */
GST_EXPORT
gboolean gst_buffer_copy_into (GstBuffer *dest, GstBuffer *src,
GstBufferCopyFlags flags,
gsize offset, gsize size);
@ -509,12 +572,17 @@ gst_buffer_replace (GstBuffer **obuf, GstBuffer *nbuf)
}
/* creating a region */
GST_EXPORT
GstBuffer* gst_buffer_copy_region (GstBuffer *parent, GstBufferCopyFlags flags,
gsize offset, gsize size);
/* append two buffers */
GST_EXPORT
GstBuffer* gst_buffer_append_region (GstBuffer *buf1, GstBuffer *buf2,
gssize offset, gssize size);
GST_EXPORT
GstBuffer* gst_buffer_append (GstBuffer *buf1, GstBuffer *buf2);
/* metadata */
@ -541,17 +609,23 @@ GstBuffer* gst_buffer_append (GstBuffer *buf1, GstBuffer *buf
typedef gboolean (*GstBufferForeachMetaFunc) (GstBuffer *buffer, GstMeta **meta,
gpointer user_data);
GST_EXPORT
GstMeta * gst_buffer_get_meta (GstBuffer *buffer, GType api);
GST_EXPORT
GstMeta * gst_buffer_add_meta (GstBuffer *buffer, const GstMetaInfo *info,
gpointer params);
GST_EXPORT
gboolean gst_buffer_remove_meta (GstBuffer *buffer, GstMeta *meta);
GST_EXPORT
GstMeta * gst_buffer_iterate_meta (GstBuffer *buffer, gpointer *state);
GST_EXPORT
GstMeta * gst_buffer_iterate_meta_filtered (GstBuffer * buffer,
gpointer * state,
GType meta_api_type);
GST_EXPORT
gboolean gst_buffer_foreach_meta (GstBuffer *buffer,
GstBufferForeachMetaFunc func,
gpointer user_data);
@ -610,6 +684,7 @@ struct _GstParentBufferMeta
GstBuffer *buffer;
};
GST_EXPORT
GType gst_parent_buffer_meta_api_get_type (void);
#ifndef GST_DISABLE_DEPRECATED
#define GST_TYPE_PARENT_BUFFER_META_API_TYPE GST_PARENT_BUFFER_META_API_TYPE
@ -626,10 +701,13 @@ GType gst_parent_buffer_meta_api_get_type (void);
#define gst_buffer_get_parent_buffer_meta(b) \
((GstParentBufferMeta*)gst_buffer_get_meta((b),GST_PARENT_BUFFER_META_API_TYPE))
GST_EXPORT
const GstMetaInfo *gst_parent_buffer_meta_get_info (void);
#define GST_PARENT_BUFFER_META_INFO (gst_parent_buffer_meta_get_info())
/* implementation */
GST_EXPORT
GstParentBufferMeta *gst_buffer_add_parent_buffer_meta (GstBuffer *buffer,
GstBuffer *ref);
@ -664,16 +742,25 @@ struct _GstReferenceTimestampMeta
GstClockTime timestamp, duration;
};
GST_EXPORT
GType gst_reference_timestamp_meta_api_get_type (void);
#define GST_REFERENCE_TIMESTAMP_META_API_TYPE (gst_reference_timestamp_meta_api_get_type())
GST_EXPORT
const GstMetaInfo *gst_reference_timestamp_meta_get_info (void);
#define GST_REFERENCE_TIMESTAMP_META_INFO (gst_reference_timestamp_meta_get_info())
/* implementation */
GstReferenceTimestampMeta *gst_buffer_add_reference_timestamp_meta (GstBuffer *buffer,
GstCaps *reference, GstClockTime timestamp, GstClockTime duration);
GstReferenceTimestampMeta *gst_buffer_get_reference_timestamp_meta (GstBuffer * buffer, GstCaps * reference);
GST_EXPORT
GstReferenceTimestampMeta * gst_buffer_add_reference_timestamp_meta (GstBuffer * buffer,
GstCaps * reference,
GstClockTime timestamp,
GstClockTime duration);
GST_EXPORT
GstReferenceTimestampMeta * gst_buffer_get_reference_timestamp_meta (GstBuffer * buffer,
GstCaps * reference);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstBuffer, gst_buffer_unref)

View file

@ -131,21 +131,34 @@ gst_buffer_list_copy (const GstBufferList * list)
*/
#define gst_buffer_list_make_writable(list) GST_BUFFER_LIST_CAST (gst_mini_object_make_writable (GST_MINI_OBJECT_CAST (list)))
GST_EXPORT
GType gst_buffer_list_get_type (void);
/* allocation */
GST_EXPORT
GstBufferList * gst_buffer_list_new (void) G_GNUC_MALLOC;
GST_EXPORT
GstBufferList * gst_buffer_list_new_sized (guint size) G_GNUC_MALLOC;
GST_EXPORT
guint gst_buffer_list_length (GstBufferList *list);
GST_EXPORT
GstBuffer * gst_buffer_list_get (GstBufferList *list, guint idx);
GST_EXPORT
void gst_buffer_list_insert (GstBufferList *list, gint idx, GstBuffer *buffer);
GST_EXPORT
void gst_buffer_list_remove (GstBufferList *list, guint idx, guint length);
GST_EXPORT
gboolean gst_buffer_list_foreach (GstBufferList *list,
GstBufferListFunc func,
gpointer user_data);
GST_EXPORT
GstBufferList * gst_buffer_list_copy_deep (const GstBufferList * list);
#define gst_buffer_list_add(l,b) gst_buffer_list_insert((l),-1,(b));

View file

@ -175,44 +175,80 @@ struct _GstBufferPoolClass {
gpointer _gst_reserved[GST_PADDING - 2];
};
GST_EXPORT
GType gst_buffer_pool_get_type (void);
/* allocation */
GST_EXPORT
GstBufferPool * gst_buffer_pool_new (void);
/* state management */
GST_EXPORT
gboolean gst_buffer_pool_set_active (GstBufferPool *pool, gboolean active);
GST_EXPORT
gboolean gst_buffer_pool_is_active (GstBufferPool *pool);
GST_EXPORT
gboolean gst_buffer_pool_set_config (GstBufferPool *pool, GstStructure *config);
GST_EXPORT
GstStructure * gst_buffer_pool_get_config (GstBufferPool *pool);
GST_EXPORT
const gchar ** gst_buffer_pool_get_options (GstBufferPool *pool);
GST_EXPORT
gboolean gst_buffer_pool_has_option (GstBufferPool *pool, const gchar *option);
GST_EXPORT
void gst_buffer_pool_set_flushing (GstBufferPool *pool, gboolean flushing);
/* helpers for configuring the config structure */
GST_EXPORT
void gst_buffer_pool_config_set_params (GstStructure *config, GstCaps *caps,
guint size, guint min_buffers, guint max_buffers);
GST_EXPORT
gboolean gst_buffer_pool_config_get_params (GstStructure *config, GstCaps **caps,
guint *size, guint *min_buffers, guint *max_buffers);
GST_EXPORT
void gst_buffer_pool_config_set_allocator (GstStructure *config, GstAllocator *allocator,
const GstAllocationParams *params);
GST_EXPORT
gboolean gst_buffer_pool_config_get_allocator (GstStructure *config, GstAllocator **allocator,
GstAllocationParams *params);
/* options */
GST_EXPORT
guint gst_buffer_pool_config_n_options (GstStructure *config);
GST_EXPORT
void gst_buffer_pool_config_add_option (GstStructure *config, const gchar *option);
GST_EXPORT
const gchar * gst_buffer_pool_config_get_option (GstStructure *config, guint index);
GST_EXPORT
gboolean gst_buffer_pool_config_has_option (GstStructure *config, const gchar *option);
GST_EXPORT
gboolean gst_buffer_pool_config_validate_params (GstStructure *config, GstCaps *caps,
guint size, guint min_buffers, guint max_buffers);
/* buffer management */
GST_EXPORT
GstFlowReturn gst_buffer_pool_acquire_buffer (GstBufferPool *pool, GstBuffer **buffer,
GstBufferPoolAcquireParams *params);
GST_EXPORT
void gst_buffer_pool_release_buffer (GstBufferPool *pool, GstBuffer *buffer);
G_END_DECLS

View file

@ -132,55 +132,95 @@ struct _GstBusClass
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_bus_get_type (void);
GST_EXPORT
GstBus* gst_bus_new (void);
GST_EXPORT
gboolean gst_bus_post (GstBus * bus, GstMessage * message);
GST_EXPORT
gboolean gst_bus_have_pending (GstBus * bus);
GST_EXPORT
GstMessage * gst_bus_peek (GstBus * bus);
GST_EXPORT
GstMessage * gst_bus_pop (GstBus * bus);
GST_EXPORT
GstMessage * gst_bus_pop_filtered (GstBus * bus, GstMessageType types);
GST_EXPORT
GstMessage * gst_bus_timed_pop (GstBus * bus, GstClockTime timeout);
GST_EXPORT
GstMessage * gst_bus_timed_pop_filtered (GstBus * bus, GstClockTime timeout, GstMessageType types);
GST_EXPORT
void gst_bus_set_flushing (GstBus * bus, gboolean flushing);
/* synchronous dispatching */
GST_EXPORT
void gst_bus_set_sync_handler (GstBus * bus, GstBusSyncHandler func,
gpointer user_data, GDestroyNotify notify);
/* asynchronous message notifications */
GST_EXPORT
void gst_bus_get_pollfd (GstBus * bus, GPollFD *fd);
/* GSource based dispatching */
GST_EXPORT
GSource * gst_bus_create_watch (GstBus * bus);
GST_EXPORT
guint gst_bus_add_watch_full (GstBus * bus,
gint priority,
GstBusFunc func,
gpointer user_data,
GDestroyNotify notify);
GST_EXPORT
guint gst_bus_add_watch (GstBus * bus,
GstBusFunc func,
gpointer user_data);
GST_EXPORT
gboolean gst_bus_remove_watch (GstBus * bus);
/* polling the bus */
GST_EXPORT
GstMessage* gst_bus_poll (GstBus *bus, GstMessageType events,
GstClockTime timeout);
/* signal based dispatching helper functions. */
GST_EXPORT
gboolean gst_bus_async_signal_func (GstBus *bus, GstMessage *message,
gpointer data);
GST_EXPORT
GstBusSyncReply gst_bus_sync_signal_handler (GstBus *bus, GstMessage *message,
gpointer data);
/* convenience api to add/remove a gsource that emits the async signals */
GST_EXPORT
void gst_bus_add_signal_watch (GstBus * bus);
GST_EXPORT
void gst_bus_add_signal_watch_full (GstBus * bus, gint priority);
GST_EXPORT
void gst_bus_remove_signal_watch (GstBus * bus);
GST_EXPORT
void gst_bus_enable_sync_message_emission (GstBus * bus);
GST_EXPORT
void gst_bus_disable_sync_message_emission (GstBus * bus);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -137,6 +137,7 @@ typedef struct _GstCaps GstCaps;
typedef struct _GstStaticCaps GstStaticCaps;
GST_EXPORT GstCaps * _gst_caps_any;
GST_EXPORT GstCaps * _gst_caps_none;
/**
* GST_CAPS_FLAGS:
@ -395,110 +396,174 @@ typedef gboolean (*GstCapsFilterMapFunc) (GstCapsFeatures *features,
gpointer user_data);
GST_EXPORT
GType gst_caps_get_type (void);
GST_EXPORT
GstCaps * gst_caps_new_empty (void);
GST_EXPORT
GstCaps * gst_caps_new_any (void);
GST_EXPORT
GstCaps * gst_caps_new_empty_simple (const char *media_type) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
GstCaps * gst_caps_new_simple (const char *media_type,
const char *fieldname,
...) G_GNUC_NULL_TERMINATED G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
GstCaps * gst_caps_new_full (GstStructure *struct1,
...) G_GNUC_NULL_TERMINATED G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
GstCaps * gst_caps_new_full_valist (GstStructure *structure,
va_list var_args) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
GType gst_static_caps_get_type (void);
GST_EXPORT
GstCaps * gst_static_caps_get (GstStaticCaps *static_caps);
GST_EXPORT
void gst_static_caps_cleanup (GstStaticCaps *static_caps);
/* manipulation */
GST_EXPORT
void gst_caps_append (GstCaps *caps1,
GstCaps *caps2);
GST_EXPORT
void gst_caps_append_structure (GstCaps *caps,
GstStructure *structure);
GST_EXPORT
void gst_caps_append_structure_full (GstCaps *caps,
GstStructure *structure,
GstCapsFeatures *features);
GST_EXPORT
void gst_caps_remove_structure (GstCaps *caps, guint idx);
GST_EXPORT
GstCaps * gst_caps_merge (GstCaps *caps1,
GstCaps *caps2) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
GstCaps * gst_caps_merge_structure (GstCaps *caps,
GstStructure *structure) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
GstCaps * gst_caps_merge_structure_full (GstCaps *caps,
GstStructure *structure,
GstCapsFeatures *features) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
guint gst_caps_get_size (const GstCaps *caps);
GST_EXPORT
GstStructure * gst_caps_get_structure (const GstCaps *caps,
guint index);
GST_EXPORT
GstStructure * gst_caps_steal_structure (GstCaps *caps,
guint index) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
void gst_caps_set_features (GstCaps *caps,
guint index,
GstCapsFeatures * features);
GST_EXPORT
GstCapsFeatures * gst_caps_get_features (const GstCaps *caps,
guint index);
GST_EXPORT
GstCaps * gst_caps_copy_nth (const GstCaps *caps, guint nth) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
GstCaps * gst_caps_truncate (GstCaps *caps) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
void gst_caps_set_value (GstCaps *caps,
const char *field,
const GValue *value);
GST_EXPORT
void gst_caps_set_simple (GstCaps *caps,
const char *field, ...) G_GNUC_NULL_TERMINATED;
GST_EXPORT
void gst_caps_set_simple_valist (GstCaps *caps,
const char *field,
va_list varargs);
GST_EXPORT
gboolean gst_caps_foreach (const GstCaps *caps,
GstCapsForeachFunc func,
gpointer user_data);
GST_EXPORT
gboolean gst_caps_map_in_place (GstCaps *caps,
GstCapsMapFunc func,
gpointer user_data);
GST_EXPORT
void gst_caps_filter_and_map_in_place (GstCaps *caps,
GstCapsFilterMapFunc func,
gpointer user_data);
/* tests */
GST_EXPORT
gboolean gst_caps_is_any (const GstCaps *caps);
GST_EXPORT
gboolean gst_caps_is_empty (const GstCaps *caps);
GST_EXPORT
gboolean gst_caps_is_fixed (const GstCaps *caps);
GST_EXPORT
gboolean gst_caps_is_always_compatible (const GstCaps *caps1,
const GstCaps *caps2);
GST_EXPORT
gboolean gst_caps_is_subset (const GstCaps *subset,
const GstCaps *superset);
GST_EXPORT
gboolean gst_caps_is_subset_structure (const GstCaps *caps,
const GstStructure *structure);
GST_EXPORT
gboolean gst_caps_is_subset_structure_full (const GstCaps *caps,
const GstStructure *structure,
const GstCapsFeatures *features);
GST_EXPORT
gboolean gst_caps_is_equal (const GstCaps *caps1,
const GstCaps *caps2);
GST_EXPORT
gboolean gst_caps_is_equal_fixed (const GstCaps *caps1,
const GstCaps *caps2);
GST_EXPORT
gboolean gst_caps_can_intersect (const GstCaps * caps1,
const GstCaps * caps2);
GST_EXPORT
gboolean gst_caps_is_strictly_equal (const GstCaps *caps1,
const GstCaps *caps2);
/* operations */
GST_EXPORT
GstCaps * gst_caps_intersect (GstCaps *caps1,
GstCaps *caps2) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
GstCaps * gst_caps_intersect_full (GstCaps *caps1,
GstCaps *caps2,
GstCapsIntersectMode mode) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
GstCaps * gst_caps_subtract (GstCaps *minuend,
GstCaps *subtrahend) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
GstCaps * gst_caps_normalize (GstCaps *caps) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
GstCaps * gst_caps_simplify (GstCaps *caps) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
GstCaps * gst_caps_fixate (GstCaps *caps) G_GNUC_WARN_UNUSED_RESULT;
/* utility */
GST_EXPORT
gchar * gst_caps_to_string (const GstCaps *caps) G_GNUC_MALLOC;
GST_EXPORT
GstCaps * gst_caps_from_string (const gchar *string) G_GNUC_WARN_UNUSED_RESULT;
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -45,38 +45,76 @@ GST_EXPORT GstCapsFeatures *_gst_caps_features_any;
GST_EXPORT GstCapsFeatures *_gst_caps_features_memory_system_memory;
#define GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY (_gst_caps_features_memory_system_memory)
GST_EXPORT
GType gst_caps_features_get_type (void);
GST_EXPORT
gboolean gst_is_caps_features (gconstpointer obj);
GST_EXPORT
GstCapsFeatures * gst_caps_features_new_empty (void);
GST_EXPORT
GstCapsFeatures * gst_caps_features_new_any (void);
GST_EXPORT
GstCapsFeatures * gst_caps_features_new (const gchar *feature1, ...);
GST_EXPORT
GstCapsFeatures * gst_caps_features_new_valist (const gchar *feature1, va_list varargs);
GST_EXPORT
GstCapsFeatures * gst_caps_features_new_id (GQuark feature1, ...);
GST_EXPORT
GstCapsFeatures * gst_caps_features_new_id_valist (GQuark feature1, va_list varargs);
GST_EXPORT
gboolean gst_caps_features_set_parent_refcount (GstCapsFeatures *features, gint * refcount);
GST_EXPORT
GstCapsFeatures * gst_caps_features_copy (const GstCapsFeatures * features);
GST_EXPORT
void gst_caps_features_free (GstCapsFeatures * features);
GST_EXPORT
gchar * gst_caps_features_to_string (const GstCapsFeatures * features);
GST_EXPORT
GstCapsFeatures * gst_caps_features_from_string (const gchar * features);
GST_EXPORT
guint gst_caps_features_get_size (const GstCapsFeatures * features);
GST_EXPORT
const gchar * gst_caps_features_get_nth (const GstCapsFeatures * features, guint i);
GST_EXPORT
GQuark gst_caps_features_get_nth_id (const GstCapsFeatures * features, guint i);
GST_EXPORT
gboolean gst_caps_features_contains (const GstCapsFeatures * features, const gchar * feature);
GST_EXPORT
gboolean gst_caps_features_contains_id (const GstCapsFeatures * features, GQuark feature);
GST_EXPORT
gboolean gst_caps_features_is_equal (const GstCapsFeatures * features1, const GstCapsFeatures * features2);
GST_EXPORT
gboolean gst_caps_features_is_any (const GstCapsFeatures * features);
GST_EXPORT
void gst_caps_features_add (GstCapsFeatures * features, const gchar * feature);
GST_EXPORT
void gst_caps_features_add_id ( GstCapsFeatures * features, GQuark feature);
GST_EXPORT
void gst_caps_features_remove (GstCapsFeatures * features, const gchar * feature);
GST_EXPORT
void gst_caps_features_remove_id (GstCapsFeatures * features, GQuark feature);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -67,36 +67,48 @@ struct _GstChildProxyInterface
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_child_proxy_get_type (void);
GST_EXPORT
GObject * gst_child_proxy_get_child_by_name (GstChildProxy * parent, const gchar * name);
GST_EXPORT
guint gst_child_proxy_get_children_count (GstChildProxy * parent);
GST_EXPORT
GObject * gst_child_proxy_get_child_by_index (GstChildProxy * parent, guint index);
GST_EXPORT
gboolean gst_child_proxy_lookup (GstChildProxy *object, const gchar *name,
GObject **target, GParamSpec **pspec);
GST_EXPORT
void gst_child_proxy_get_property (GstChildProxy * object, const gchar *name,
GValue *value);
GST_EXPORT
void gst_child_proxy_get_valist (GstChildProxy * object,
const gchar * first_property_name,
va_list var_args);
GST_EXPORT
void gst_child_proxy_get (GstChildProxy * object,
const gchar * first_property_name,
...) G_GNUC_NULL_TERMINATED;
GST_EXPORT
void gst_child_proxy_set_property (GstChildProxy * object, const gchar *name,
const GValue *value);
GST_EXPORT
void gst_child_proxy_set_valist (GstChildProxy* object,
const gchar * first_property_name,
va_list var_args);
GST_EXPORT
void gst_child_proxy_set (GstChildProxy * object,
const gchar * first_property_name,
...) G_GNUC_NULL_TERMINATED;
GST_EXPORT
void gst_child_proxy_child_added (GstChildProxy * parent, GObject * child,
const gchar *name);
GST_EXPORT
void gst_child_proxy_child_removed (GstChildProxy * parent, GObject * child,
const gchar *name);

View file

@ -491,33 +491,47 @@ struct _GstClockClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_clock_get_type (void);
GST_EXPORT
GstClockTime gst_clock_set_resolution (GstClock *clock,
GstClockTime resolution);
GST_EXPORT
GstClockTime gst_clock_get_resolution (GstClock *clock);
GST_EXPORT
GstClockTime gst_clock_get_time (GstClock *clock);
GST_EXPORT
void gst_clock_set_calibration (GstClock *clock, GstClockTime internal,
GstClockTime external,
GstClockTime rate_num,
GstClockTime rate_denom);
GST_EXPORT
void gst_clock_get_calibration (GstClock *clock, GstClockTime *internal,
GstClockTime *external,
GstClockTime *rate_num,
GstClockTime *rate_denom);
/* master/slave clocks */
GST_EXPORT
gboolean gst_clock_set_master (GstClock *clock, GstClock *master);
GST_EXPORT
GstClock* gst_clock_get_master (GstClock *clock);
GST_EXPORT
void gst_clock_set_timeout (GstClock *clock,
GstClockTime timeout);
GST_EXPORT
GstClockTime gst_clock_get_timeout (GstClock *clock);
GST_EXPORT
gboolean gst_clock_add_observation (GstClock *clock, GstClockTime slave,
GstClockTime master, gdouble *r_squared);
GST_EXPORT
gboolean gst_clock_add_observation_unapplied (GstClock *clock, GstClockTime slave,
GstClockTime master, gdouble *r_squared,
GstClockTime *internal,
@ -526,55 +540,85 @@ gboolean gst_clock_add_observation_unapplied (GstClock *clock, Gs
GstClockTime *rate_denom);
/* getting and adjusting internal/external time */
GST_EXPORT
GstClockTime gst_clock_get_internal_time (GstClock *clock);
GST_EXPORT
GstClockTime gst_clock_adjust_unlocked (GstClock *clock, GstClockTime internal);
GST_EXPORT
GstClockTime gst_clock_adjust_with_calibration (GstClock *clock,
GstClockTime internal_target,
GstClockTime cinternal,
GstClockTime cexternal,
GstClockTime cnum,
GstClockTime cdenom);
GST_EXPORT
GstClockTime gst_clock_unadjust_with_calibration (GstClock *clock,
GstClockTime external_target,
GstClockTime cinternal,
GstClockTime cexternal,
GstClockTime cnum,
GstClockTime cdenom);
GST_EXPORT
GstClockTime gst_clock_unadjust_unlocked (GstClock * clock, GstClockTime external);
/* waiting for, signalling and checking for synchronization */
GST_EXPORT
gboolean gst_clock_wait_for_sync (GstClock * clock, GstClockTime timeout);
GST_EXPORT
gboolean gst_clock_is_synced (GstClock * clock);
/* to be used by subclasses only */
GST_EXPORT
void gst_clock_set_synced (GstClock * clock, gboolean synced);
/* creating IDs that can be used to get notifications */
GST_EXPORT
GstClockID gst_clock_new_single_shot_id (GstClock *clock,
GstClockTime time);
GST_EXPORT
GstClockID gst_clock_new_periodic_id (GstClock *clock,
GstClockTime start_time,
GstClockTime interval);
/* reference counting */
GST_EXPORT
GstClockID gst_clock_id_ref (GstClockID id);
GST_EXPORT
void gst_clock_id_unref (GstClockID id);
/* operations on IDs */
GST_EXPORT
gint gst_clock_id_compare_func (gconstpointer id1, gconstpointer id2);
GST_EXPORT
GstClockTime gst_clock_id_get_time (GstClockID id);
GST_EXPORT
GstClockReturn gst_clock_id_wait (GstClockID id,
GstClockTimeDiff *jitter);
GST_EXPORT
GstClockReturn gst_clock_id_wait_async (GstClockID id,
GstClockCallback func,
gpointer user_data,
GDestroyNotify destroy_data);
GST_EXPORT
void gst_clock_id_unschedule (GstClockID id);
GST_EXPORT
gboolean gst_clock_single_shot_id_reinit (GstClock * clock,
GstClockID id,
GstClockTime time);
GST_EXPORT
gboolean gst_clock_periodic_id_reinit (GstClock * clock,
GstClockID id,
GstClockTime start_time,

View file

@ -42,6 +42,7 @@ GST_EXPORT GType _gst_context_type;
GST_EXPORT
GType gst_context_get_type (void);
@ -132,14 +133,22 @@ gst_context_replace (GstContext **old_context, GstContext *new_context)
return gst_mini_object_replace ((GstMiniObject **) old_context, (GstMiniObject *) new_context);
}
GST_EXPORT
GstContext * gst_context_new (const gchar * context_type,
gboolean persistent) G_GNUC_MALLOC;
GST_EXPORT
const gchar * gst_context_get_context_type (const GstContext * context);
GST_EXPORT
gboolean gst_context_has_context_type (const GstContext * context, const gchar * context_type);
GST_EXPORT
const GstStructure * gst_context_get_structure (const GstContext * context);
GST_EXPORT
GstStructure * gst_context_writable_structure (GstContext * context);
GST_EXPORT
gboolean gst_context_is_persistent (const GstContext * context);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -110,21 +110,29 @@ struct _GstControlBindingClass
#define GST_CONTROL_BINDING_PSPEC(cb) (((GstControlBinding *) cb)->pspec)
GST_EXPORT
GType gst_control_binding_get_type (void);
/* Functions */
GST_EXPORT
gboolean gst_control_binding_sync_values (GstControlBinding * binding, GstObject *object,
GstClockTime timestamp, GstClockTime last_sync);
GST_EXPORT
GValue * gst_control_binding_get_value (GstControlBinding *binding,
GstClockTime timestamp);
GST_EXPORT
gboolean gst_control_binding_get_value_array (GstControlBinding *binding, GstClockTime timestamp,
GstClockTime interval, guint n_values, gpointer values);
GST_EXPORT
gboolean gst_control_binding_get_g_value_array (GstControlBinding *binding, GstClockTime timestamp,
GstClockTime interval, guint n_values, GValue *values);
GST_EXPORT
void gst_control_binding_set_disabled (GstControlBinding * binding, gboolean disabled);
GST_EXPORT
gboolean gst_control_binding_is_disabled (GstControlBinding * binding);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstControlBinding, gst_object_unref)
#endif

View file

@ -125,11 +125,15 @@ struct _GstControlSourceClass
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_control_source_get_type (void);
/* Functions */
GST_EXPORT
gboolean gst_control_source_get_value (GstControlSource *self, GstClockTime timestamp,
gdouble *value);
GST_EXPORT
gboolean gst_control_source_get_value_array (GstControlSource *self, GstClockTime timestamp,
GstClockTime interval, guint n_values,
gdouble *values);

View file

@ -51,71 +51,107 @@ GST_EXPORT GType _gst_date_time_type;
#define GST_TYPE_DATE_TIME (_gst_date_time_type)
GST_EXPORT
GType gst_date_time_get_type (void);
/* query which fields are set */
GST_EXPORT
gboolean gst_date_time_has_year (const GstDateTime * datetime);
GST_EXPORT
gboolean gst_date_time_has_month (const GstDateTime * datetime);
GST_EXPORT
gboolean gst_date_time_has_day (const GstDateTime * datetime);
GST_EXPORT
gboolean gst_date_time_has_time (const GstDateTime * datetime);
GST_EXPORT
gboolean gst_date_time_has_second (const GstDateTime * datetime);
/* field getters */
GST_EXPORT
gint gst_date_time_get_year (const GstDateTime * datetime);
GST_EXPORT
gint gst_date_time_get_month (const GstDateTime * datetime);
GST_EXPORT
gint gst_date_time_get_day (const GstDateTime * datetime);
GST_EXPORT
gint gst_date_time_get_hour (const GstDateTime * datetime);
GST_EXPORT
gint gst_date_time_get_minute (const GstDateTime * datetime);
GST_EXPORT
gint gst_date_time_get_second (const GstDateTime * datetime);
GST_EXPORT
gint gst_date_time_get_microsecond (const GstDateTime * datetime);
GST_EXPORT
gfloat gst_date_time_get_time_zone_offset (const GstDateTime * datetime);
/* constructors */
GST_EXPORT
GstDateTime * gst_date_time_new_from_unix_epoch_local_time (gint64 secs) G_GNUC_MALLOC;
GST_EXPORT
GstDateTime * gst_date_time_new_from_unix_epoch_utc (gint64 secs) G_GNUC_MALLOC;
GST_EXPORT
GstDateTime * gst_date_time_new_local_time (gint year,
gint month,
gint day,
gint hour,
gint minute,
gdouble seconds) G_GNUC_MALLOC;
GST_EXPORT
GstDateTime * gst_date_time_new_y (gint year) G_GNUC_MALLOC;
GST_EXPORT
GstDateTime * gst_date_time_new_ym (gint year,
gint month) G_GNUC_MALLOC;
GST_EXPORT
GstDateTime * gst_date_time_new_ymd (gint year,
gint month,
gint day) G_GNUC_MALLOC;
GST_EXPORT
GstDateTime * gst_date_time_new (gfloat tzoffset,
gint year, gint month,
gint day, gint hour,
gint minute,
gdouble seconds) G_GNUC_MALLOC;
GST_EXPORT
GstDateTime * gst_date_time_new_now_local_time (void) G_GNUC_MALLOC;
GST_EXPORT
GstDateTime * gst_date_time_new_now_utc (void) G_GNUC_MALLOC;
GST_EXPORT
gchar * gst_date_time_to_iso8601_string (GstDateTime * datetime) G_GNUC_MALLOC;
GST_EXPORT
GstDateTime * gst_date_time_new_from_iso8601_string (const gchar * string) G_GNUC_MALLOC;
GST_EXPORT
GDateTime * gst_date_time_to_g_date_time (GstDateTime * datetime);
GST_EXPORT
GstDateTime * gst_date_time_new_from_g_date_time (GDateTime * dt);
/* refcounting */
GST_EXPORT
GstDateTime * gst_date_time_ref (GstDateTime * datetime);
GST_EXPORT
void gst_date_time_unref (GstDateTime * datetime);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -58,8 +58,13 @@ typedef enum {
/********** pipeline graphs **********/
GST_EXPORT
gchar * gst_debug_bin_to_dot_data (GstBin *bin, GstDebugGraphDetails details);
GST_EXPORT
void gst_debug_bin_to_dot_file (GstBin *bin, GstDebugGraphDetails details, const gchar *file_name);
GST_EXPORT
void gst_debug_bin_to_dot_file_with_ts (GstBin *bin, GstDebugGraphDetails details, const gchar *file_name);
#ifndef GST_DISABLE_GST_DEBUG

View file

@ -84,20 +84,31 @@ struct _GstDeviceClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_device_get_type (void);
GST_EXPORT
GstElement * gst_device_create_element (GstDevice * device, const gchar * name);
GST_EXPORT
GstCaps * gst_device_get_caps (GstDevice * device);
GST_EXPORT
gchar * gst_device_get_display_name (GstDevice * device);
GST_EXPORT
gchar * gst_device_get_device_class (GstDevice * device);
GST_EXPORT
GstStructure * gst_device_get_properties (GstDevice * device);
GST_EXPORT
gboolean gst_device_reconfigure_element (GstDevice * device,
GstElement * element);
GST_EXPORT
gboolean gst_device_has_classesv (GstDevice * device,
gchar ** classes);
GST_EXPORT
gboolean gst_device_has_classes (GstDevice * device,
const gchar * classes);

View file

@ -75,29 +75,40 @@ struct _GstDeviceMonitorClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_device_monitor_get_type (void);
GST_EXPORT
GstDeviceMonitor * gst_device_monitor_new (void);
GST_EXPORT
GstBus * gst_device_monitor_get_bus (GstDeviceMonitor * monitor);
GST_EXPORT
GList * gst_device_monitor_get_devices (GstDeviceMonitor * monitor);
GST_EXPORT
gboolean gst_device_monitor_start (GstDeviceMonitor * monitor);
GST_EXPORT
void gst_device_monitor_stop (GstDeviceMonitor * monitor);
GST_EXPORT
guint gst_device_monitor_add_filter (GstDeviceMonitor * monitor,
const gchar * classes,
GstCaps * caps);
GST_EXPORT
gboolean gst_device_monitor_remove_filter (GstDeviceMonitor * monitor,
guint filter_id);
GST_EXPORT
gchar ** gst_device_monitor_get_providers (GstDeviceMonitor * monitor);
GST_EXPORT
void gst_device_monitor_set_show_all_devices (GstDeviceMonitor * monitor, gboolean show_all);
GST_EXPORT
gboolean gst_device_monitor_get_show_all_devices (GstDeviceMonitor * monitor);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -99,49 +99,69 @@ struct _GstDeviceProviderClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_device_provider_get_type (void);
GST_EXPORT
GList * gst_device_provider_get_devices (GstDeviceProvider * provider);
GST_EXPORT
gboolean gst_device_provider_start (GstDeviceProvider * provider);
GST_EXPORT
void gst_device_provider_stop (GstDeviceProvider * provider);
GST_EXPORT
gboolean gst_device_provider_can_monitor (GstDeviceProvider * provider);
GST_EXPORT
GstBus * gst_device_provider_get_bus (GstDeviceProvider * provider);
GST_EXPORT
void gst_device_provider_device_add (GstDeviceProvider * provider,
GstDevice * device);
GST_EXPORT
void gst_device_provider_device_remove (GstDeviceProvider * provider,
GstDevice * device);
GST_EXPORT
gchar ** gst_device_provider_get_hidden_providers (GstDeviceProvider * provider);
GST_EXPORT
void gst_device_provider_hide_provider (GstDeviceProvider * provider,
const gchar * name);
GST_EXPORT
void gst_device_provider_unhide_provider (GstDeviceProvider * provider,
const gchar * name);
/* device provider class meta data */
GST_EXPORT
void gst_device_provider_class_set_metadata (GstDeviceProviderClass *klass,
const gchar *longname,
const gchar *classification,
const gchar *description,
const gchar *author);
GST_EXPORT
void gst_device_provider_class_set_static_metadata (GstDeviceProviderClass *klass,
const gchar *longname,
const gchar *classification,
const gchar *description,
const gchar *author);
GST_EXPORT
void gst_device_provider_class_add_metadata (GstDeviceProviderClass * klass,
const gchar * key, const gchar * value);
GST_EXPORT
void gst_device_provider_class_add_static_metadata (GstDeviceProviderClass * klass,
const gchar * key, const gchar * value);
GST_EXPORT
const gchar * gst_device_provider_class_get_metadata (GstDeviceProviderClass * klass,
const gchar * key);
/* factory management */
GST_EXPORT
GstDeviceProviderFactory * gst_device_provider_get_factory (GstDeviceProvider * provider);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -60,28 +60,38 @@ G_BEGIN_DECLS
#define GST_IS_DEVICE_PROVIDER_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DEVICE_PROVIDER_FACTORY))
#define GST_DEVICE_PROVIDER_FACTORY_CAST(obj) ((GstDeviceProviderFactory *)(obj))
GST_EXPORT
GType gst_device_provider_factory_get_type (void);
GST_EXPORT
GstDeviceProviderFactory * gst_device_provider_factory_find (const gchar *name);
GST_EXPORT
GType gst_device_provider_factory_get_device_provider_type (GstDeviceProviderFactory *factory);
GST_EXPORT
const gchar * gst_device_provider_factory_get_metadata (GstDeviceProviderFactory *factory, const gchar *key);
GST_EXPORT
gchar ** gst_device_provider_factory_get_metadata_keys (GstDeviceProviderFactory *factory);
GST_EXPORT
GstDeviceProvider* gst_device_provider_factory_get (GstDeviceProviderFactory *factory) G_GNUC_MALLOC;
GST_EXPORT
GstDeviceProvider* gst_device_provider_factory_get_by_name (const gchar *factoryname) G_GNUC_MALLOC;
GST_EXPORT
gboolean gst_device_provider_register (GstPlugin *plugin, const gchar *name,
guint rank,
GType type);
GST_EXPORT
gboolean gst_device_provider_factory_has_classesv (GstDeviceProviderFactory * factory,
gchar ** classes);
GST_EXPORT
gboolean gst_device_provider_factory_has_classes (GstDeviceProviderFactory *factory,
const gchar * classes);
GST_EXPORT
GList * gst_device_provider_factory_list_get_device_providers (
GstRank minrank) G_GNUC_MALLOC;

View file

@ -45,10 +45,13 @@ G_BEGIN_DECLS
#define GST_IS_DYNAMIC_TYPE_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DYNAMIC_TYPE_FACTORY))
#define GST_DYNAMIC_TYPE_FACTORY_CAST(obj) ((GstDynamicTypeFactory *)(obj))
GST_EXPORT
GType gst_dynamic_type_factory_get_type (void);
GST_EXPORT
GType gst_dynamic_type_factory_load (const gchar *factoryname);
GST_EXPORT
gboolean gst_dynamic_type_register (GstPlugin *plugin, GType type);
G_END_DECLS

View file

@ -335,7 +335,9 @@ typedef enum
*/
#define GST_ELEMENT_START_TIME(elem) (GST_ELEMENT_CAST(elem)->start_time)
GST_EXPORT
GstStructure *gst_make_element_message_details (const char *name, ...);
#define GST_ELEMENT_MESSAGE_MAKE_DETAILS(args) gst_make_element_message_details args
/**
@ -730,33 +732,47 @@ struct _GstElementClass
};
/* element class pad templates */
GST_EXPORT
void gst_element_class_add_pad_template (GstElementClass *klass, GstPadTemplate *templ);
GST_EXPORT
void gst_element_class_add_static_pad_template (GstElementClass *klass, GstStaticPadTemplate *static_templ);
GST_EXPORT
GstPadTemplate* gst_element_class_get_pad_template (GstElementClass *element_class, const gchar *name);
GST_EXPORT
GList* gst_element_class_get_pad_template_list (GstElementClass *element_class);
/* element class meta data */
GST_EXPORT
void gst_element_class_set_metadata (GstElementClass *klass,
const gchar *longname,
const gchar *classification,
const gchar *description,
const gchar *author);
GST_EXPORT
void gst_element_class_set_static_metadata (GstElementClass *klass,
const gchar *longname,
const gchar *classification,
const gchar *description,
const gchar *author);
GST_EXPORT
void gst_element_class_add_metadata (GstElementClass * klass,
const gchar * key, const gchar * value);
GST_EXPORT
void gst_element_class_add_static_metadata (GstElementClass * klass,
const gchar * key, const gchar * value);
GST_EXPORT
const gchar * gst_element_class_get_metadata (GstElementClass * klass,
const gchar * key);
/* element instance */
GST_EXPORT
GType gst_element_get_type (void);
/* basic name and parentage stuff from GstObject */
@ -805,62 +821,116 @@ GType gst_element_get_type (void);
#define gst_element_set_parent(elem,parent) gst_object_set_parent(GST_OBJECT_CAST(elem),parent)
/* clocking */
GST_EXPORT
GstClock* gst_element_provide_clock (GstElement *element);
GST_EXPORT
GstClock* gst_element_get_clock (GstElement *element);
GST_EXPORT
gboolean gst_element_set_clock (GstElement *element, GstClock *clock);
GST_EXPORT
void gst_element_set_base_time (GstElement *element, GstClockTime time);
GST_EXPORT
GstClockTime gst_element_get_base_time (GstElement *element);
GST_EXPORT
void gst_element_set_start_time (GstElement *element, GstClockTime time);
GST_EXPORT
GstClockTime gst_element_get_start_time (GstElement *element);
/* bus */
GST_EXPORT
void gst_element_set_bus (GstElement * element, GstBus * bus);
GST_EXPORT
GstBus * gst_element_get_bus (GstElement * element);
/* context */
GST_EXPORT
void gst_element_set_context (GstElement * element, GstContext * context);
GST_EXPORT
GList * gst_element_get_contexts (GstElement * element);
GST_EXPORT
GstContext * gst_element_get_context (GstElement * element, const gchar * context_type);
GST_EXPORT
GstContext * gst_element_get_context_unlocked (GstElement * element, const gchar * context_type);
/* pad management */
GST_EXPORT
gboolean gst_element_add_pad (GstElement *element, GstPad *pad);
GST_EXPORT
gboolean gst_element_remove_pad (GstElement *element, GstPad *pad);
GST_EXPORT
void gst_element_no_more_pads (GstElement *element);
GST_EXPORT
GstPad* gst_element_get_static_pad (GstElement *element, const gchar *name);
GST_EXPORT
GstPad* gst_element_get_request_pad (GstElement *element, const gchar *name);
GST_EXPORT
GstPad* gst_element_request_pad (GstElement *element, GstPadTemplate *templ,
const gchar * name, const GstCaps *caps);
GST_EXPORT
void gst_element_release_request_pad (GstElement *element, GstPad *pad);
GST_EXPORT
GstIterator * gst_element_iterate_pads (GstElement * element);
GST_EXPORT
GstIterator * gst_element_iterate_src_pads (GstElement * element);
GST_EXPORT
GstIterator * gst_element_iterate_sink_pads (GstElement * element);
/* event/query/format stuff */
GST_EXPORT
gboolean gst_element_send_event (GstElement *element, GstEvent *event);
GST_EXPORT
gboolean gst_element_seek (GstElement *element, gdouble rate,
GstFormat format, GstSeekFlags flags,
GstSeekType start_type, gint64 start,
GstSeekType stop_type, gint64 stop);
GST_EXPORT
gboolean gst_element_query (GstElement *element, GstQuery *query);
/* messages */
GST_EXPORT
gboolean gst_element_post_message (GstElement * element, GstMessage * message);
/* error handling */
/* gcc versions < 3.3 warn about NULL being passed as format to printf */
#if (!defined(__GNUC__) || (__GNUC__ < 3) || (__GNUC__ == 3 && __GNUC_MINOR__ < 3))
GST_EXPORT
gchar * _gst_element_error_printf (const gchar *format, ...);
#else
GST_EXPORT
gchar * _gst_element_error_printf (const gchar *format, ...) G_GNUC_PRINTF (1, 2);
#endif
GST_EXPORT
void gst_element_message_full (GstElement * element, GstMessageType type,
GQuark domain, gint code, gchar * text,
gchar * debug, const gchar * file,
const gchar * function, gint line);
GST_EXPORT
void gst_element_message_full_with_details (GstElement * element, GstMessageType type,
GQuark domain, gint code, gchar * text,
gchar * debug, const gchar * file,
@ -868,42 +938,61 @@ void gst_element_message_full_with_details (GstElement * elem
GstStructure * structure);
/* state management */
GST_EXPORT
gboolean gst_element_is_locked_state (GstElement *element);
GST_EXPORT
gboolean gst_element_set_locked_state (GstElement *element, gboolean locked_state);
GST_EXPORT
gboolean gst_element_sync_state_with_parent (GstElement *element);
GST_EXPORT
GstStateChangeReturn gst_element_get_state (GstElement * element,
GstState * state,
GstState * pending,
GstClockTime timeout);
GST_EXPORT
GstStateChangeReturn gst_element_set_state (GstElement *element, GstState state);
GST_EXPORT
void gst_element_abort_state (GstElement * element);
GST_EXPORT
GstStateChangeReturn gst_element_change_state (GstElement * element,
GstStateChange transition);
GST_EXPORT
GstStateChangeReturn gst_element_continue_state (GstElement * element,
GstStateChangeReturn ret);
GST_EXPORT
void gst_element_lost_state (GstElement * element);
typedef void (*GstElementCallAsyncFunc) (GstElement * element,
gpointer user_data);
GST_EXPORT
void gst_element_call_async (GstElement * element,
GstElementCallAsyncFunc func, gpointer user_data,
GDestroyNotify destroy_notify);
/* factory management */
GST_EXPORT
GstElementFactory* gst_element_get_factory (GstElement *element);
/* utility functions */
GST_EXPORT
gulong gst_element_add_property_notify_watch (GstElement * element,
const gchar * property_name,
gboolean include_value);
GST_EXPORT
gulong gst_element_add_property_deep_notify_watch (GstElement * element,
const gchar * property_name,
gboolean include_value);
GST_EXPORT
void gst_element_remove_property_notify_watch (GstElement * element,
gulong watch_id);

View file

@ -50,28 +50,43 @@ G_BEGIN_DECLS
#define GST_IS_ELEMENT_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ELEMENT_FACTORY))
#define GST_ELEMENT_FACTORY_CAST(obj) ((GstElementFactory *)(obj))
GST_EXPORT
GType gst_element_factory_get_type (void);
GST_EXPORT
GstElementFactory * gst_element_factory_find (const gchar *name);
GST_EXPORT
GType gst_element_factory_get_element_type (GstElementFactory *factory);
GST_EXPORT
const gchar * gst_element_factory_get_metadata (GstElementFactory *factory, const gchar *key);
GST_EXPORT
gchar ** gst_element_factory_get_metadata_keys (GstElementFactory *factory);
GST_EXPORT
guint gst_element_factory_get_num_pad_templates (GstElementFactory *factory);
GST_EXPORT
const GList * gst_element_factory_get_static_pad_templates (GstElementFactory *factory);
GST_EXPORT
GstURIType gst_element_factory_get_uri_type (GstElementFactory *factory);
GST_EXPORT
const gchar * const * gst_element_factory_get_uri_protocols (GstElementFactory *factory);
GST_EXPORT
gboolean gst_element_factory_has_interface (GstElementFactory *factory,
const gchar *interfacename);
GST_EXPORT
GstElement* gst_element_factory_create (GstElementFactory *factory,
const gchar *name) G_GNUC_MALLOC;
GST_EXPORT
GstElement* gst_element_factory_make (const gchar *factoryname, const gchar *name) G_GNUC_MALLOC;
GST_EXPORT
gboolean gst_element_register (GstPlugin *plugin, const gchar *name,
guint rank, GType type);
@ -195,13 +210,16 @@ typedef guint64 GstElementFactoryListType;
#define GST_ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE "Subtitle"
#define GST_ELEMENT_FACTORY_KLASS_MEDIA_METADATA "Metadata"
GST_EXPORT
gboolean gst_element_factory_list_is_type (GstElementFactory *factory,
GstElementFactoryListType type);
GST_EXPORT
GList * gst_element_factory_list_get_elements (GstElementFactoryListType type,
GstRank minrank) G_GNUC_MALLOC;
GST_EXPORT
GList * gst_element_factory_list_filter (GList *list, const GstCaps *caps,
GstPadDirection direction,
gboolean subsetonly) G_GNUC_MALLOC;

View file

@ -3,6 +3,7 @@
#define __GST_ENUM_TYPES_H__
#include <glib-object.h>
#include <gst/gstconfig.h>
G_BEGIN_DECLS
/*** END file-header ***/
@ -13,7 +14,7 @@ G_BEGIN_DECLS
/*** END file-production ***/
/*** BEGIN value-header ***/
GType @enum_name@_get_type (void);
GST_EXPORT GType @enum_name@_get_type (void);
#define @ENUMPREFIX@_TYPE_@ENUMSHORT@ (@enum_name@_get_type ())
/*** END value-header ***/

View file

@ -242,10 +242,19 @@ typedef enum
*/
#define GST_ERROR_SYSTEM ("system error: %s", g_strerror (errno))
GST_EXPORT
gchar *gst_error_get_message (GQuark domain, gint code);
GST_EXPORT
GQuark gst_stream_error_quark (void);
GST_EXPORT
GQuark gst_core_error_quark (void);
GST_EXPORT
GQuark gst_resource_error_quark (void);
GST_EXPORT
GQuark gst_library_error_quark (void);
G_END_DECLS

View file

@ -410,8 +410,13 @@ struct _GstEvent {
guint32 seqnum;
};
GST_EXPORT
const gchar* gst_event_type_get_name (GstEventType type);
GST_EXPORT
GQuark gst_event_type_to_quark (GstEventType type);
GST_EXPORT
GstEventTypeFlags
gst_event_type_get_flags (GstEventType type);
@ -458,136 +463,239 @@ gst_event_copy (const GstEvent * event)
return GST_EVENT_CAST (gst_mini_object_copy (GST_MINI_OBJECT_CONST_CAST (event)));
}
GST_EXPORT
GType gst_event_get_type (void);
/* custom event */
GST_EXPORT
GstEvent* gst_event_new_custom (GstEventType type, GstStructure *structure) G_GNUC_MALLOC;
GST_EXPORT
const GstStructure *
gst_event_get_structure (GstEvent *event);
GST_EXPORT
GstStructure * gst_event_writable_structure (GstEvent *event);
GST_EXPORT
gboolean gst_event_has_name (GstEvent *event, const gchar *name);
/* identifiers for events and messages */
GST_EXPORT
guint32 gst_event_get_seqnum (GstEvent *event);
GST_EXPORT
void gst_event_set_seqnum (GstEvent *event, guint32 seqnum);
/* accumulated pad offsets for the event */
GST_EXPORT
gint64 gst_event_get_running_time_offset (GstEvent *event);
GST_EXPORT
void gst_event_set_running_time_offset (GstEvent *event, gint64 offset);
/* Stream start event */
GST_EXPORT
GstEvent * gst_event_new_stream_start (const gchar *stream_id) G_GNUC_MALLOC;
GST_EXPORT
void gst_event_parse_stream_start (GstEvent *event, const gchar **stream_id);
GST_EXPORT
void gst_event_set_stream (GstEvent *event, GstStream *stream);
GST_EXPORT
void gst_event_parse_stream (GstEvent *event, GstStream **stream);
GST_EXPORT
void gst_event_set_stream_flags (GstEvent *event, GstStreamFlags flags);
GST_EXPORT
void gst_event_parse_stream_flags (GstEvent *event, GstStreamFlags *flags);
GST_EXPORT
void gst_event_set_group_id (GstEvent *event, guint group_id);
GST_EXPORT
gboolean gst_event_parse_group_id (GstEvent *event, guint *group_id);
/* flush events */
GST_EXPORT
GstEvent * gst_event_new_flush_start (void) G_GNUC_MALLOC;
GST_EXPORT
GstEvent * gst_event_new_flush_stop (gboolean reset_time) G_GNUC_MALLOC;
GST_EXPORT
void gst_event_parse_flush_stop (GstEvent *event, gboolean *reset_time);
/* Stream collection event */
GST_EXPORT
GstEvent * gst_event_new_stream_collection (GstStreamCollection *collection) G_GNUC_MALLOC;
GST_EXPORT
void gst_event_parse_stream_collection (GstEvent *event, GstStreamCollection **collection);
/* select streams event */
GST_EXPORT
GstEvent * gst_event_new_select_streams (GList *streams);
GST_EXPORT
void gst_event_parse_select_streams (GstEvent *event, GList **streams);
/* stream-group-done event */
GST_EXPORT
GstEvent * gst_event_new_stream_group_done (guint group_id) G_GNUC_MALLOC;
GST_EXPORT
void gst_event_parse_stream_group_done (GstEvent *event, guint *group_id);
/* EOS event */
GST_EXPORT
GstEvent * gst_event_new_eos (void) G_GNUC_MALLOC;
/* GAP event */
GST_EXPORT
GstEvent * gst_event_new_gap (GstClockTime timestamp,
GstClockTime duration) G_GNUC_MALLOC;
GST_EXPORT
void gst_event_parse_gap (GstEvent * event,
GstClockTime * timestamp,
GstClockTime * duration);
/* Caps events */
GST_EXPORT
GstEvent * gst_event_new_caps (GstCaps *caps) G_GNUC_MALLOC;
GST_EXPORT
void gst_event_parse_caps (GstEvent *event, GstCaps **caps);
/* segment event */
GST_EXPORT
GstEvent* gst_event_new_segment (const GstSegment *segment) G_GNUC_MALLOC;
GST_EXPORT
void gst_event_parse_segment (GstEvent *event, const GstSegment **segment);
GST_EXPORT
void gst_event_copy_segment (GstEvent *event, GstSegment *segment);
/* tag event */
GST_EXPORT
GstEvent* gst_event_new_tag (GstTagList *taglist) G_GNUC_MALLOC;
GST_EXPORT
void gst_event_parse_tag (GstEvent *event, GstTagList **taglist);
/* TOC event */
GST_EXPORT
GstEvent* gst_event_new_toc (GstToc *toc, gboolean updated);
GST_EXPORT
void gst_event_parse_toc (GstEvent *event, GstToc **toc, gboolean *updated);
/* Protection event */
GST_EXPORT
GstEvent * gst_event_new_protection (const gchar * system_id, GstBuffer * data, const gchar * origin);
GST_EXPORT
void gst_event_parse_protection (GstEvent * event, const gchar ** system_id,
GstBuffer ** data, const gchar ** origin);
/* buffer */
GST_EXPORT
GstEvent * gst_event_new_buffer_size (GstFormat format, gint64 minsize, gint64 maxsize,
gboolean async) G_GNUC_MALLOC;
GST_EXPORT
void gst_event_parse_buffer_size (GstEvent *event, GstFormat *format, gint64 *minsize,
gint64 *maxsize, gboolean *async);
/* sink message */
GST_EXPORT
GstEvent* gst_event_new_sink_message (const gchar *name, GstMessage *msg) G_GNUC_MALLOC;
GST_EXPORT
void gst_event_parse_sink_message (GstEvent *event, GstMessage **msg);
/* QOS events */
GST_EXPORT
GstEvent* gst_event_new_qos (GstQOSType type, gdouble proportion,
GstClockTimeDiff diff, GstClockTime timestamp) G_GNUC_MALLOC;
GST_EXPORT
void gst_event_parse_qos (GstEvent *event, GstQOSType *type,
gdouble *proportion, GstClockTimeDiff *diff,
GstClockTime *timestamp);
/* seek event */
GST_EXPORT
GstEvent* gst_event_new_seek (gdouble rate, GstFormat format, GstSeekFlags flags,
GstSeekType start_type, gint64 start,
GstSeekType stop_type, gint64 stop) G_GNUC_MALLOC;
GST_EXPORT
void gst_event_parse_seek (GstEvent *event, gdouble *rate, GstFormat *format,
GstSeekFlags *flags,
GstSeekType *start_type, gint64 *start,
GstSeekType *stop_type, gint64 *stop);
/* navigation event */
GST_EXPORT
GstEvent* gst_event_new_navigation (GstStructure *structure) G_GNUC_MALLOC;
/* latency event */
GST_EXPORT
GstEvent* gst_event_new_latency (GstClockTime latency) G_GNUC_MALLOC;
GST_EXPORT
void gst_event_parse_latency (GstEvent *event, GstClockTime *latency);
/* step event */
GST_EXPORT
GstEvent* gst_event_new_step (GstFormat format, guint64 amount, gdouble rate,
gboolean flush, gboolean intermediate) G_GNUC_MALLOC;
GST_EXPORT
void gst_event_parse_step (GstEvent *event, GstFormat *format, guint64 *amount,
gdouble *rate, gboolean *flush, gboolean *intermediate);
/* renegotiate event */
GST_EXPORT
GstEvent* gst_event_new_reconfigure (void) G_GNUC_MALLOC;
/* TOC select event */
GST_EXPORT
GstEvent* gst_event_new_toc_select (const gchar *uid) G_GNUC_MALLOC;
GST_EXPORT
void gst_event_parse_toc_select (GstEvent *event, gchar **uid);
/* segment-done event */
GST_EXPORT
GstEvent* gst_event_new_segment_done (GstFormat format, gint64 position) G_GNUC_MALLOC;
GST_EXPORT
void gst_event_parse_segment_done (GstEvent *event, GstFormat *format, gint64 *position);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -92,20 +92,33 @@ struct _GstFormatDefinition
GQuark quark;
};
GST_EXPORT
const gchar* gst_format_get_name (GstFormat format);
GST_EXPORT
GQuark gst_format_to_quark (GstFormat format);
/* register a new format */
GST_EXPORT
GstFormat gst_format_register (const gchar *nick,
const gchar *description);
GST_EXPORT
GstFormat gst_format_get_by_nick (const gchar *nick);
/* check if a format is in an array of formats */
GST_EXPORT
gboolean gst_formats_contains (const GstFormat *formats, GstFormat format);
/* query for format details */
GST_EXPORT
const GstFormatDefinition*
gst_format_get_details (GstFormat format);
GST_EXPORT
GstIterator* gst_format_iterate_definitions (void);
G_END_DECLS

View file

@ -57,16 +57,23 @@ struct _GstProxyPadClass
gpointer _gst_reserved[1];
};
GST_EXPORT
GType gst_proxy_pad_get_type (void);
GstProxyPad* gst_proxy_pad_get_internal (GstProxyPad *pad);
GST_EXPORT
GstProxyPad * gst_proxy_pad_get_internal (GstProxyPad *pad);
GST_EXPORT
GstIterator* gst_proxy_pad_iterate_internal_links_default (GstPad *pad, GstObject *parent) G_GNUC_MALLOC;
GST_EXPORT
GstFlowReturn gst_proxy_pad_chain_default (GstPad *pad, GstObject *parent,
GstBuffer *buffer);
GST_EXPORT
GstFlowReturn gst_proxy_pad_chain_list_default (GstPad *pad, GstObject *parent,
GstBufferList *list);
GST_EXPORT
GstFlowReturn gst_proxy_pad_getrange_default (GstPad *pad, GstObject *parent,
guint64 offset, guint size,
GstBuffer **buffer);
@ -104,22 +111,34 @@ struct _GstGhostPadClass
};
GST_EXPORT
GType gst_ghost_pad_get_type (void);
GST_EXPORT
GstPad* gst_ghost_pad_new (const gchar *name, GstPad *target) G_GNUC_MALLOC;
GST_EXPORT
GstPad* gst_ghost_pad_new_no_target (const gchar *name, GstPadDirection dir) G_GNUC_MALLOC;
GST_EXPORT
GstPad* gst_ghost_pad_new_from_template (const gchar *name, GstPad * target, GstPadTemplate * templ) G_GNUC_MALLOC;
GST_EXPORT
GstPad* gst_ghost_pad_new_no_target_from_template (const gchar *name, GstPadTemplate * templ) G_GNUC_MALLOC;
GST_EXPORT
GstPad* gst_ghost_pad_get_target (GstGhostPad *gpad);
GST_EXPORT
gboolean gst_ghost_pad_set_target (GstGhostPad *gpad, GstPad *newtarget);
GST_EXPORT
gboolean gst_ghost_pad_construct (GstGhostPad *gpad);
GST_EXPORT
gboolean gst_ghost_pad_activate_mode_default (GstPad * pad, GstObject * parent,
GstPadMode mode, gboolean active);
GST_EXPORT
gboolean gst_ghost_pad_internal_activate_mode_default (GstPad * pad, GstObject * parent,
GstPadMode mode, gboolean active);

View file

@ -321,6 +321,7 @@ typedef void (*GstLogFunction) (GstDebugCategory * category,
GstDebugMessage * message,
gpointer user_data);
GST_EXPORT
void gst_debug_log (GstDebugCategory * category,
GstDebugLevel level,
const gchar * file,
@ -329,7 +330,7 @@ void gst_debug_log (GstDebugCategory * category,
GObject * object,
const gchar * format,
...) G_GNUC_PRINTF (7, 8) G_GNUC_NO_INSTRUMENT;
GST_EXPORT
void gst_debug_log_valist (GstDebugCategory * category,
GstDebugLevel level,
const gchar * file,
@ -340,14 +341,21 @@ void gst_debug_log_valist (GstDebugCategory * category,
va_list args) G_GNUC_NO_INSTRUMENT;
/* do not use this function, use the GST_DEBUG_CATEGORY_INIT macro */
GST_EXPORT
GstDebugCategory *_gst_debug_category_new (const gchar * name,
guint color,
const gchar * description);
/* do not use this function, use the GST_DEBUG_CATEGORY_GET macro */
GST_EXPORT
GstDebugCategory *_gst_debug_get_category (const gchar *name);
/* do not use this function, use the GST_CAT_MEMDUMP_* macros */
GST_EXPORT
void _gst_debug_dump_mem (GstDebugCategory * cat, const gchar * file,
const gchar * func, gint line, GObject * obj, const gchar * msg,
const guint8 * data, guint length);
@ -359,14 +367,19 @@ void _gst_debug_dump_mem (GstDebugCategory * cat, const gchar * file,
typedef void (* GstDebugFuncPtr) (void);
/* do no use these functions, use the GST_DEBUG*_FUNCPTR macros */
GST_EXPORT
void _gst_debug_register_funcptr (GstDebugFuncPtr func,
const gchar * ptrname);
GST_EXPORT
const gchar *
_gst_debug_nameof_funcptr (GstDebugFuncPtr func) G_GNUC_NO_INSTRUMENT;
GST_EXPORT
const gchar * gst_debug_message_get (GstDebugMessage * message);
GST_EXPORT
void gst_debug_log_default (GstDebugCategory * category,
GstDebugLevel level,
const gchar * file,
@ -375,57 +388,108 @@ void gst_debug_log_default (GstDebugCategory * category,
GObject * object,
GstDebugMessage * message,
gpointer user_data) G_GNUC_NO_INSTRUMENT;
GST_EXPORT
const gchar * gst_debug_level_get_name (GstDebugLevel level);
GST_EXPORT
void gst_debug_add_log_function (GstLogFunction func,
gpointer user_data,
GDestroyNotify notify);
GST_EXPORT
guint gst_debug_remove_log_function (GstLogFunction func);
GST_EXPORT
guint gst_debug_remove_log_function_by_data (gpointer data);
GST_EXPORT
void gst_debug_set_active (gboolean active);
GST_EXPORT
gboolean gst_debug_is_active (void);
GST_EXPORT
void gst_debug_set_colored (gboolean colored);
GST_EXPORT
void gst_debug_set_color_mode (GstDebugColorMode mode);
GST_EXPORT
void gst_debug_set_color_mode_from_string (const gchar * mode);
GST_EXPORT
gboolean gst_debug_is_colored (void);
GST_EXPORT
GstDebugColorMode gst_debug_get_color_mode (void);
GST_EXPORT
void gst_debug_set_default_threshold (GstDebugLevel level);
GST_EXPORT
GstDebugLevel gst_debug_get_default_threshold (void);
GST_EXPORT
void gst_debug_set_threshold_for_name (const gchar * name,
GstDebugLevel level);
GST_EXPORT
void gst_debug_set_threshold_from_string (const gchar * list, gboolean reset);
GST_EXPORT
void gst_debug_unset_threshold_for_name (const gchar * name);
GST_EXPORT
void gst_debug_category_free (GstDebugCategory * category);
GST_EXPORT
void gst_debug_category_set_threshold (GstDebugCategory * category,
GstDebugLevel level);
GST_EXPORT
void gst_debug_category_reset_threshold (GstDebugCategory * category);
GST_EXPORT
GstDebugLevel gst_debug_category_get_threshold (GstDebugCategory * category);
GST_EXPORT
const gchar * gst_debug_category_get_name (GstDebugCategory * category);
GST_EXPORT
guint gst_debug_category_get_color (GstDebugCategory * category);
GST_EXPORT
const gchar * gst_debug_category_get_description (GstDebugCategory * category);
GST_EXPORT
GSList * gst_debug_get_all_categories (void);
GST_EXPORT
gchar * gst_debug_construct_term_color (guint colorinfo);
GST_EXPORT
gint gst_debug_construct_win_color (guint colorinfo);
GST_EXPORT
gint gst_info_vasprintf (gchar ** result,
const gchar * format,
va_list args) G_GNUC_PRINTF (2, 0);
GST_EXPORT
gchar * gst_info_strdup_vprintf (const gchar *format, va_list args) G_GNUC_PRINTF (1, 0);
GST_EXPORT
gchar * gst_info_strdup_printf (const gchar *format, ...) G_GNUC_PRINTF (1, 2);
GST_EXPORT
void gst_print (const gchar * format, ...) G_GNUC_PRINTF (1, 2);
GST_EXPORT
void gst_println (const gchar * format, ...) G_GNUC_PRINTF (1, 2);
GST_EXPORT
void gst_printerr (const gchar * format, ...) G_GNUC_PRINTF (1, 2);
GST_EXPORT
void gst_printerrln (const gchar * format, ...) G_GNUC_PRINTF (1, 2);
#ifndef GST_DISABLE_GST_DEBUG
@ -542,12 +606,15 @@ G_STMT_START{ \
*
* Default gstreamer core debug log category. Please define your own.
*/
GST_EXPORT GstDebugCategory * GST_CAT_DEFAULT;
/* this symbol may not be used */
GST_EXPORT gboolean _gst_debug_enabled;
/* the min debug level, used for quickly discarding debug
* messages that fall under the threshold. */
GST_EXPORT GstDebugLevel _gst_debug_min;
/**
@ -1671,7 +1738,10 @@ GST_TRACE (const char *format, ...)
#endif /* GST_DISABLE_GST_DEBUG */
GST_EXPORT
void gst_debug_print_stack_trace (void);
GST_EXPORT
gchar * gst_debug_get_stack_trace (GstStackTraceFlags flags);
G_END_DECLS

View file

@ -225,9 +225,12 @@ struct _GstIterator {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_iterator_get_type (void);
/* creating iterators */
GST_EXPORT
GstIterator* gst_iterator_new (guint size,
GType type,
GMutex *lock,
@ -237,34 +240,46 @@ GstIterator* gst_iterator_new (guint size,
GstIteratorItemFunction item,
GstIteratorResyncFunction resync,
GstIteratorFreeFunction free) G_GNUC_MALLOC;
GST_EXPORT
GstIterator* gst_iterator_new_list (GType type,
GMutex *lock,
guint32 *master_cookie,
GList **list,
GObject * owner,
GstIteratorItemFunction item) G_GNUC_MALLOC;
GST_EXPORT
GstIterator* gst_iterator_new_single (GType type,
const GValue * object) G_GNUC_MALLOC;
GST_EXPORT
GstIterator* gst_iterator_copy (const GstIterator *it) G_GNUC_MALLOC;
/* using iterators */
GST_EXPORT
GstIteratorResult gst_iterator_next (GstIterator *it, GValue * elem);
GST_EXPORT
void gst_iterator_resync (GstIterator *it);
GST_EXPORT
void gst_iterator_free (GstIterator *it);
GST_EXPORT
void gst_iterator_push (GstIterator *it, GstIterator *other);
/* higher-order functions that operate on iterators */
GST_EXPORT
GstIterator* gst_iterator_filter (GstIterator *it, GCompareFunc func,
const GValue * user_data) G_GNUC_MALLOC;
GST_EXPORT
GstIteratorResult gst_iterator_fold (GstIterator *it,
GstIteratorFoldFunction func,
GValue *ret, gpointer user_data);
GST_EXPORT
GstIteratorResult gst_iterator_foreach (GstIterator *it,
GstIteratorForeachFunction func, gpointer user_data);
GST_EXPORT
gboolean gst_iterator_find_custom (GstIterator *it, GCompareFunc func,
GValue *elem, gpointer user_data);

View file

@ -33,6 +33,8 @@ G_BEGIN_DECLS
GST_EXPORT GType _gst_memory_type;
#define GST_TYPE_MEMORY (_gst_memory_type)
GST_EXPORT
GType gst_memory_get_type(void);
typedef struct _GstMemory GstMemory;
@ -308,11 +310,12 @@ typedef GstMemory * (*GstMemoryShareFunction) (GstMemory *mem, gssize offset
*/
typedef gboolean (*GstMemoryIsSpanFunction) (GstMemory *mem1, GstMemory *mem2, gsize *offset);
GST_EXPORT
void gst_memory_init (GstMemory *mem, GstMemoryFlags flags,
GstAllocator *allocator, GstMemory *parent,
gsize maxsize, gsize align,
gsize offset, gsize size);
GST_EXPORT
gboolean gst_memory_is_type (GstMemory *mem, const gchar *mem_type);
/* refcounting */
@ -343,7 +346,11 @@ gst_memory_unref (GstMemory * memory)
}
/* getting/setting memory properties */
GST_EXPORT
gsize gst_memory_get_sizes (GstMemory *mem, gsize *offset, gsize *maxsize);
GST_EXPORT
void gst_memory_resize (GstMemory *mem, gssize offset, gsize size);
#define gst_memory_lock(m,f) gst_mini_object_lock (GST_MINI_OBJECT_CAST (m), (f))
@ -352,15 +359,27 @@ void gst_memory_resize (GstMemory *mem, gssize offset, gsize siz
#define gst_memory_make_writable(m) GST_MEMORY_CAST (gst_mini_object_make_writable (GST_MINI_OBJECT_CAST (m)))
/* retrieving data */
GST_EXPORT
GstMemory * gst_memory_make_mapped (GstMemory *mem, GstMapInfo *info, GstMapFlags flags) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
gboolean gst_memory_map (GstMemory *mem, GstMapInfo *info, GstMapFlags flags);
GST_EXPORT
void gst_memory_unmap (GstMemory *mem, GstMapInfo *info);
/* copy and subregions */
GST_EXPORT
GstMemory * gst_memory_copy (GstMemory *mem, gssize offset, gssize size) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
GstMemory * gst_memory_share (GstMemory *mem, gssize offset, gssize size) G_GNUC_WARN_UNUSED_RESULT;
/* span memory */
GST_EXPORT
gboolean gst_memory_is_span (GstMemory *mem1, GstMemory *mem2, gsize *offset);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -342,9 +342,13 @@ struct _GstMessage
#include <gst/gstquery.h>
GST_EXPORT
GType gst_message_get_type (void);
GST_EXPORT
const gchar* gst_message_type_get_name (GstMessageType type);
GST_EXPORT
GQuark gst_message_type_to_quark (GstMessageType type);
/* refcounting */
@ -436,206 +440,373 @@ gst_message_replace (GstMessage **old_message, GstMessage *new_message)
/* custom messages */
GST_EXPORT
GstMessage * gst_message_new_custom (GstMessageType type,
GstObject * src,
GstStructure * structure) G_GNUC_MALLOC;
GST_EXPORT
const GstStructure *
gst_message_get_structure (GstMessage *message);
GST_EXPORT
gboolean gst_message_has_name (GstMessage *message, const gchar *name);
/* identifiers for events and messages */
GST_EXPORT
guint32 gst_message_get_seqnum (GstMessage *message);
GST_EXPORT
void gst_message_set_seqnum (GstMessage *message, guint32 seqnum);
/* EOS */
GST_EXPORT
GstMessage * gst_message_new_eos (GstObject * src) G_GNUC_MALLOC;
/* ERROR */
GST_EXPORT
GstMessage * gst_message_new_error (GstObject * src, GError * error, const gchar * debug) G_GNUC_MALLOC;
GST_EXPORT
GstMessage * gst_message_new_error_with_details (GstObject * src, GError * error, const gchar * debug, GstStructure * details) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_parse_error (GstMessage *message, GError **gerror, gchar **debug);
GST_EXPORT
void gst_message_parse_error_details (GstMessage *message, const GstStructure **structure);
/* WARNING */
GST_EXPORT
GstMessage * gst_message_new_warning (GstObject * src, GError * error, const gchar * debug) G_GNUC_MALLOC;
GST_EXPORT
GstMessage * gst_message_new_warning_with_details (GstObject * src, GError * error, const gchar * debug, GstStructure * details) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_parse_warning (GstMessage *message, GError **gerror, gchar **debug);
GST_EXPORT
void gst_message_parse_warning_details (GstMessage *message, const GstStructure **structure);
/* INFO */
GST_EXPORT
GstMessage * gst_message_new_info (GstObject * src, GError * error, const gchar * debug) G_GNUC_MALLOC;
GST_EXPORT
GstMessage * gst_message_new_info_with_details (GstObject * src, GError * error, const gchar * debug, GstStructure * details) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_parse_info (GstMessage *message, GError **gerror, gchar **debug);
GST_EXPORT
void gst_message_parse_info_details (GstMessage *message, const GstStructure **structure);
/* TAG */
GST_EXPORT
GstMessage * gst_message_new_tag (GstObject * src, GstTagList * tag_list) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_parse_tag (GstMessage *message, GstTagList **tag_list);
/* BUFFERING */
GST_EXPORT
GstMessage * gst_message_new_buffering (GstObject * src, gint percent) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_parse_buffering (GstMessage *message, gint *percent);
GST_EXPORT
void gst_message_set_buffering_stats (GstMessage *message, GstBufferingMode mode,
gint avg_in, gint avg_out,
gint64 buffering_left);
GST_EXPORT
void gst_message_parse_buffering_stats (GstMessage *message, GstBufferingMode *mode,
gint *avg_in, gint *avg_out,
gint64 *buffering_left);
/* STATE_CHANGED */
GST_EXPORT
GstMessage * gst_message_new_state_changed (GstObject * src, GstState oldstate,
GstState newstate, GstState pending) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_parse_state_changed (GstMessage *message, GstState *oldstate,
GstState *newstate, GstState *pending);
/* STATE_DIRTY */
GST_EXPORT
GstMessage * gst_message_new_state_dirty (GstObject * src) G_GNUC_MALLOC;
/* STEP_DONE */
GST_EXPORT
GstMessage * gst_message_new_step_done (GstObject * src, GstFormat format, guint64 amount,
gdouble rate, gboolean flush, gboolean intermediate,
guint64 duration, gboolean eos) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_parse_step_done (GstMessage * message, GstFormat *format, guint64 *amount,
gdouble *rate, gboolean *flush, gboolean *intermediate,
guint64 *duration, gboolean *eos);
/* CLOCK_PROVIDE */
GST_EXPORT
GstMessage * gst_message_new_clock_provide (GstObject * src, GstClock *clock, gboolean ready) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_parse_clock_provide (GstMessage *message, GstClock **clock,
gboolean *ready);
/* CLOCK_LOST */
GST_EXPORT
GstMessage * gst_message_new_clock_lost (GstObject * src, GstClock *clock) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_parse_clock_lost (GstMessage *message, GstClock **clock);
/* NEW_CLOCK */
GST_EXPORT
GstMessage * gst_message_new_new_clock (GstObject * src, GstClock *clock) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_parse_new_clock (GstMessage *message, GstClock **clock);
/* APPLICATION */
GST_EXPORT
GstMessage * gst_message_new_application (GstObject * src, GstStructure * structure) G_GNUC_MALLOC;
/* ELEMENT */
GST_EXPORT
GstMessage * gst_message_new_element (GstObject * src, GstStructure * structure) G_GNUC_MALLOC;
/* SEGMENT_START */
GST_EXPORT
GstMessage * gst_message_new_segment_start (GstObject * src, GstFormat format, gint64 position) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_parse_segment_start (GstMessage *message, GstFormat *format,
gint64 *position);
/* SEGMENT_DONE */
GST_EXPORT
GstMessage * gst_message_new_segment_done (GstObject * src, GstFormat format, gint64 position) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_parse_segment_done (GstMessage *message, GstFormat *format,
gint64 *position);
/* DURATION_CHANGED */
GST_EXPORT
GstMessage * gst_message_new_duration_changed (GstObject * src) G_GNUC_MALLOC;
/* LATENCY */
GST_EXPORT
GstMessage * gst_message_new_latency (GstObject * src) G_GNUC_MALLOC;
/* ASYNC_START */
GST_EXPORT
GstMessage * gst_message_new_async_start (GstObject * src) G_GNUC_MALLOC;
/* ASYNC_DONE */
GST_EXPORT
GstMessage * gst_message_new_async_done (GstObject * src, GstClockTime running_time) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_parse_async_done (GstMessage *message, GstClockTime *running_time);
/* STRUCTURE CHANGE */
GST_EXPORT
GstMessage * gst_message_new_structure_change (GstObject * src, GstStructureChangeType type,
GstElement *owner, gboolean busy) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_parse_structure_change (GstMessage *message, GstStructureChangeType *type,
GstElement **owner, gboolean *busy);
/* STREAM STATUS */
GST_EXPORT
GstMessage * gst_message_new_stream_status (GstObject * src, GstStreamStatusType type,
GstElement *owner) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_parse_stream_status (GstMessage *message, GstStreamStatusType *type,
GstElement **owner);
GST_EXPORT
void gst_message_set_stream_status_object (GstMessage *message, const GValue *object);
GST_EXPORT
const GValue * gst_message_get_stream_status_object (GstMessage *message);
/* REQUEST_STATE */
GST_EXPORT
GstMessage * gst_message_new_request_state (GstObject * src, GstState state) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_parse_request_state (GstMessage * message, GstState *state);
/* STEP_START */
GST_EXPORT
GstMessage * gst_message_new_step_start (GstObject * src, gboolean active, GstFormat format,
guint64 amount, gdouble rate, gboolean flush,
gboolean intermediate) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_parse_step_start (GstMessage * message, gboolean *active, GstFormat *format,
guint64 *amount, gdouble *rate, gboolean *flush,
gboolean *intermediate);
/* QOS */
GST_EXPORT
GstMessage * gst_message_new_qos (GstObject * src, gboolean live, guint64 running_time,
guint64 stream_time, guint64 timestamp, guint64 duration) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_set_qos_values (GstMessage * message, gint64 jitter, gdouble proportion,
gint quality);
GST_EXPORT
void gst_message_set_qos_stats (GstMessage * message, GstFormat format, guint64 processed,
guint64 dropped);
GST_EXPORT
void gst_message_parse_qos (GstMessage * message, gboolean * live, guint64 * running_time,
guint64 * stream_time, guint64 * timestamp, guint64 * duration);
GST_EXPORT
void gst_message_parse_qos_values (GstMessage * message, gint64 * jitter, gdouble * proportion,
gint * quality);
GST_EXPORT
void gst_message_parse_qos_stats (GstMessage * message, GstFormat * format, guint64 * processed,
guint64 * dropped);
/* PROGRESS */
GST_EXPORT
GstMessage * gst_message_new_progress (GstObject * src, GstProgressType type, const gchar *code,
const gchar *text) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_parse_progress (GstMessage * message, GstProgressType * type, gchar ** code,
gchar ** text);
/* TOC */
GST_EXPORT
GstMessage * gst_message_new_toc (GstObject *src, GstToc *toc, gboolean updated);
GST_EXPORT
void gst_message_parse_toc (GstMessage *message, GstToc **toc, gboolean *updated);
/* RESET_TIME */
GST_EXPORT
GstMessage * gst_message_new_reset_time (GstObject * src, GstClockTime running_time) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_parse_reset_time (GstMessage *message, GstClockTime *running_time);
/* STREAM_START */
GST_EXPORT
GstMessage * gst_message_new_stream_start (GstObject * src) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_set_group_id (GstMessage *message, guint group_id);
GST_EXPORT
gboolean gst_message_parse_group_id (GstMessage *message, guint *group_id);
/* NEED_CONTEXT */
GST_EXPORT
GstMessage * gst_message_new_need_context (GstObject * src, const gchar * context_type) G_GNUC_MALLOC;
GST_EXPORT
gboolean gst_message_parse_context_type (GstMessage * message, const gchar ** context_type);
/* HAVE_CONTEXT */
GST_EXPORT
GstMessage * gst_message_new_have_context (GstObject * src, GstContext *context) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_parse_have_context (GstMessage *message, GstContext **context);
/* DEVICE_ADDED */
GST_EXPORT
GstMessage * gst_message_new_device_added (GstObject * src, GstDevice * device) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_parse_device_added (GstMessage * message, GstDevice ** device);
/* DEVICE_REMOVED */
GST_EXPORT
GstMessage * gst_message_new_device_removed (GstObject * src, GstDevice * device) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_parse_device_removed (GstMessage * message, GstDevice ** device);
/* PROPERTY_NOTIFY */
GST_EXPORT
GstMessage * gst_message_new_property_notify (GstObject * src, const gchar * property_name, GValue * val) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_parse_property_notify (GstMessage * message, GstObject ** object, const gchar ** property_name, const GValue ** property_value);
/* STREAM_COLLECTION */
GST_EXPORT
GstMessage * gst_message_new_stream_collection (GstObject * src, GstStreamCollection * collection) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_parse_stream_collection (GstMessage *message, GstStreamCollection **collection);
/* STREAMS_SELECTED */
GST_EXPORT
GstMessage * gst_message_new_streams_selected (GstObject *src, GstStreamCollection *collection);
GST_EXPORT
void gst_message_streams_selected_add (GstMessage *message, GstStream *stream);
GST_EXPORT
void gst_message_parse_streams_selected (GstMessage * message, GstStreamCollection **collection);
GST_EXPORT
guint gst_message_streams_selected_get_size (GstMessage * message);
GST_EXPORT
GstStream *gst_message_streams_selected_get_stream (GstMessage *message, guint idx);
/* REDIRECT */
GST_EXPORT
GstMessage * gst_message_new_redirect (GstObject * src, const gchar * location, GstTagList * tag_list, const GstStructure * entry_struct) G_GNUC_MALLOC;
GST_EXPORT
void gst_message_add_redirect_entry (GstMessage * message, const gchar * location, GstTagList * tag_list, const GstStructure * entry_struct);
GST_EXPORT
void gst_message_parse_redirect_entry (GstMessage * message, gsize entry_index, const gchar ** location, GstTagList ** tag_list, const GstStructure ** entry_struct);
GST_EXPORT
gsize gst_message_get_num_redirect_entries (GstMessage * message);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -131,6 +131,7 @@ typedef void (*GstMetaFreeFunction) (GstMeta *meta, GstBuffer *buffer);
*
* GQuark for the "gst-copy" transform.
*/
GST_EXPORT GQuark _gst_meta_transform_copy;
/**
@ -203,19 +204,26 @@ struct _GstMetaInfo {
* just like interfaces */
};
GST_EXPORT
GType gst_meta_api_type_register (const gchar *api,
const gchar **tags);
GST_EXPORT
gboolean gst_meta_api_type_has_tag (GType api, GQuark tag);
GST_EXPORT
const GstMetaInfo * gst_meta_register (GType api, const gchar *impl,
gsize size,
GstMetaInitFunction init_func,
GstMetaFreeFunction free_func,
GstMetaTransformFunction transform_func);
GST_EXPORT
const GstMetaInfo * gst_meta_get_info (const gchar * impl);
GST_EXPORT
const gchar* const* gst_meta_api_type_get_tags (GType api);
/* some default tags */
GST_EXPORT GQuark _gst_meta_tag_memory;
/**

View file

@ -218,6 +218,7 @@ struct _GstMiniObject {
gpointer qdata;
};
GST_EXPORT
void gst_mini_object_init (GstMiniObject *mini_object,
guint flags, GType type,
GstMiniObjectCopyFunction copy_func,
@ -226,35 +227,58 @@ void gst_mini_object_init (GstMiniObject *mini_object,
/* refcounting */
GST_EXPORT
GstMiniObject * gst_mini_object_ref (GstMiniObject *mini_object);
GST_EXPORT
void gst_mini_object_unref (GstMiniObject *mini_object);
GST_EXPORT
void gst_mini_object_weak_ref (GstMiniObject *object,
GstMiniObjectNotify notify,
gpointer data);
GST_EXPORT
void gst_mini_object_weak_unref (GstMiniObject *object,
GstMiniObjectNotify notify,
gpointer data);
/* locking */
GST_EXPORT
gboolean gst_mini_object_lock (GstMiniObject *object, GstLockFlags flags);
GST_EXPORT
void gst_mini_object_unlock (GstMiniObject *object, GstLockFlags flags);
GST_EXPORT
gboolean gst_mini_object_is_writable (const GstMiniObject *mini_object);
GST_EXPORT
GstMiniObject * gst_mini_object_make_writable (GstMiniObject *mini_object) G_GNUC_WARN_UNUSED_RESULT;
/* copy */
GST_EXPORT
GstMiniObject * gst_mini_object_copy (const GstMiniObject *mini_object) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
void gst_mini_object_set_qdata (GstMiniObject *object, GQuark quark,
gpointer data, GDestroyNotify destroy);
GST_EXPORT
gpointer gst_mini_object_get_qdata (GstMiniObject *object, GQuark quark);
GST_EXPORT
gpointer gst_mini_object_steal_qdata (GstMiniObject *object, GQuark quark);
GST_EXPORT
gboolean gst_mini_object_replace (GstMiniObject **olddata, GstMiniObject *newdata);
GST_EXPORT
gboolean gst_mini_object_take (GstMiniObject **olddata, GstMiniObject *newdata);
GST_EXPORT
GstMiniObject * gst_mini_object_steal (GstMiniObject **olddata) G_GNUC_WARN_UNUSED_RESULT;
/**

View file

@ -210,67 +210,116 @@ struct _GstObjectClass {
};
/* normal GObject stuff */
GST_EXPORT
GType gst_object_get_type (void);
/* name routines */
GST_EXPORT
gboolean gst_object_set_name (GstObject *object, const gchar *name);
GST_EXPORT
gchar* gst_object_get_name (GstObject *object);
/* parentage routines */
GST_EXPORT
gboolean gst_object_set_parent (GstObject *object, GstObject *parent);
GST_EXPORT
GstObject* gst_object_get_parent (GstObject *object);
GST_EXPORT
void gst_object_unparent (GstObject *object);
GST_EXPORT
gboolean gst_object_has_as_parent (GstObject *object, GstObject *parent);
GST_EXPORT
gboolean gst_object_has_as_ancestor (GstObject *object, GstObject *ancestor);
#ifndef GST_DISABLE_DEPRECATED
GST_EXPORT
gboolean gst_object_has_ancestor (GstObject *object, GstObject *ancestor);
#endif
GST_EXPORT
void gst_object_default_deep_notify (GObject *object, GstObject *orig,
GParamSpec *pspec, gchar **excluded_props);
/* refcounting + life cycle */
GST_EXPORT
gpointer gst_object_ref (gpointer object);
GST_EXPORT
void gst_object_unref (gpointer object);
GST_EXPORT
gpointer gst_object_ref_sink (gpointer object);
/* replace object pointer */
GST_EXPORT
gboolean gst_object_replace (GstObject **oldobj, GstObject *newobj);
/* printing out the 'path' of the object */
GST_EXPORT
gchar * gst_object_get_path_string (GstObject *object);
/* misc utils */
GST_EXPORT
gboolean gst_object_check_uniqueness (GList *list, const gchar *name);
/* controller functions */
#include <gst/gstcontrolbinding.h>
#include <gst/gstcontrolsource.h>
GST_EXPORT
GstClockTime gst_object_suggest_next_sync (GstObject * object);
GST_EXPORT
gboolean gst_object_sync_values (GstObject * object, GstClockTime timestamp);
GST_EXPORT
gboolean gst_object_has_active_control_bindings (GstObject *object);
GST_EXPORT
void gst_object_set_control_bindings_disabled (GstObject *object, gboolean disabled);
GST_EXPORT
void gst_object_set_control_binding_disabled (GstObject *object,
const gchar * property_name,
gboolean disabled);
GST_EXPORT
gboolean gst_object_add_control_binding (GstObject * object, GstControlBinding * binding);
GST_EXPORT
GstControlBinding *
gst_object_get_control_binding (GstObject *object, const gchar * property_name);
GST_EXPORT
gboolean gst_object_remove_control_binding (GstObject * object, GstControlBinding * binding);
GST_EXPORT
GValue * gst_object_get_value (GstObject * object, const gchar * property_name,
GstClockTime timestamp);
GST_EXPORT
gboolean gst_object_get_value_array (GstObject * object, const gchar * property_name,
GstClockTime timestamp, GstClockTime interval,
guint n_values, gpointer values);
GST_EXPORT
gboolean gst_object_get_g_value_array (GstObject * object, const gchar * property_name,
GstClockTime timestamp, GstClockTime interval,
guint n_values, GValue *values);
GST_EXPORT
GstClockTime gst_object_get_control_rate (GstObject * object);
GST_EXPORT
void gst_object_set_control_rate (GstObject * object, GstClockTime control_rate);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -63,6 +63,7 @@ typedef enum {
#include <glib.h>
GST_EXPORT
const gchar * gst_pad_mode_get_name (GstPadMode mode);
#include <gst/gstobject.h>
@ -181,9 +182,14 @@ typedef enum {
GST_FLOW_CUSTOM_ERROR_2 = -102
} GstFlowReturn;
const gchar* gst_flow_get_name (GstFlowReturn ret);
GST_EXPORT
const gchar * gst_flow_get_name (GstFlowReturn ret);
GST_EXPORT
GQuark gst_flow_to_quark (GstFlowReturn ret);
const gchar* gst_pad_link_get_name (GstPadLinkReturn ret);
GST_EXPORT
const gchar * gst_pad_link_get_name (GstPadLinkReturn ret);
/**
* GstPadLinkCheck:
@ -606,9 +612,16 @@ struct _GstPadProbeInfo
#define GST_PAD_PROBE_INFO_OFFSET(d) ((d)->offset)
#define GST_PAD_PROBE_INFO_SIZE(d) ((d)->size)
GST_EXPORT
GstEvent* gst_pad_probe_info_get_event (GstPadProbeInfo * info);
GST_EXPORT
GstQuery* gst_pad_probe_info_get_query (GstPadProbeInfo * info);
GST_EXPORT
GstBuffer* gst_pad_probe_info_get_buffer (GstPadProbeInfo * info);
GST_EXPORT
GstBufferList* gst_pad_probe_info_get_buffer_list (GstPadProbeInfo * info);
/**
@ -1260,11 +1273,18 @@ struct _GstPadClass {
#define GST_PAD_BLOCK_SIGNAL(pad) (g_cond_signal(GST_PAD_BLOCK_GET_COND (pad)))
#define GST_PAD_BLOCK_BROADCAST(pad) (g_cond_broadcast(GST_PAD_BLOCK_GET_COND (pad)))
GST_EXPORT
GType gst_pad_get_type (void);
/* creating pads */
GST_EXPORT
GstPad* gst_pad_new (const gchar *name, GstPadDirection direction);
GST_EXPORT
GstPad* gst_pad_new_from_template (GstPadTemplate *templ, const gchar *name);
GST_EXPORT
GstPad* gst_pad_new_from_static_template (GstStaticPadTemplate *templ, const gchar *name);
@ -1291,63 +1311,96 @@ GstPad* gst_pad_new_from_static_template (GstStaticPadTemplate *templ, const g
*/
#define gst_pad_get_parent(pad) gst_object_get_parent (GST_OBJECT_CAST (pad))
GST_EXPORT
GstPadDirection gst_pad_get_direction (GstPad *pad);
GST_EXPORT
gboolean gst_pad_set_active (GstPad *pad, gboolean active);
GST_EXPORT
gboolean gst_pad_is_active (GstPad *pad);
GST_EXPORT
gboolean gst_pad_activate_mode (GstPad *pad, GstPadMode mode,
gboolean active);
GST_EXPORT
gulong gst_pad_add_probe (GstPad *pad,
GstPadProbeType mask,
GstPadProbeCallback callback,
gpointer user_data,
GDestroyNotify destroy_data);
GST_EXPORT
void gst_pad_remove_probe (GstPad *pad, gulong id);
GST_EXPORT
gboolean gst_pad_is_blocked (GstPad *pad);
GST_EXPORT
gboolean gst_pad_is_blocking (GstPad *pad);
GST_EXPORT
void gst_pad_mark_reconfigure (GstPad *pad);
GST_EXPORT
gboolean gst_pad_needs_reconfigure (GstPad *pad);
GST_EXPORT
gboolean gst_pad_check_reconfigure (GstPad *pad);
GST_EXPORT
void gst_pad_set_element_private (GstPad *pad, gpointer priv);
GST_EXPORT
gpointer gst_pad_get_element_private (GstPad *pad);
GST_EXPORT
GstPadTemplate* gst_pad_get_pad_template (GstPad *pad);
GST_EXPORT
GstFlowReturn gst_pad_store_sticky_event (GstPad *pad, GstEvent *event);
GST_EXPORT
GstEvent* gst_pad_get_sticky_event (GstPad *pad, GstEventType event_type,
guint idx);
GST_EXPORT
void gst_pad_sticky_events_foreach (GstPad *pad, GstPadStickyEventsForeachFunction foreach_func, gpointer user_data);
/* data passing setup functions */
GST_EXPORT
void gst_pad_set_activate_function_full (GstPad *pad,
GstPadActivateFunction activate,
gpointer user_data,
GDestroyNotify notify);
GST_EXPORT
void gst_pad_set_activatemode_function_full (GstPad *pad,
GstPadActivateModeFunction activatemode,
gpointer user_data,
GDestroyNotify notify);
/* data passing functions */
GST_EXPORT
void gst_pad_set_chain_function_full (GstPad *pad,
GstPadChainFunction chain,
gpointer user_data,
GDestroyNotify notify);
GST_EXPORT
void gst_pad_set_chain_list_function_full (GstPad *pad,
GstPadChainListFunction chainlist,
gpointer user_data,
GDestroyNotify notify);
GST_EXPORT
void gst_pad_set_getrange_function_full (GstPad *pad,
GstPadGetRangeFunction get,
gpointer user_data,
GDestroyNotify notify);
GST_EXPORT
void gst_pad_set_event_function_full (GstPad *pad,
GstPadEventFunction event,
gpointer user_data,
GDestroyNotify notify);
GST_EXPORT
void gst_pad_set_event_full_function_full (GstPad *pad,
GstPadEventFullFunction event,
gpointer user_data,
@ -1362,10 +1415,13 @@ void gst_pad_set_event_full_function_full (GstPad *pad,
#define gst_pad_set_event_full_function(p,f) gst_pad_set_event_full_function_full((p),(f),NULL,NULL)
/* pad links */
GST_EXPORT
void gst_pad_set_link_function_full (GstPad *pad,
GstPadLinkFunction link,
gpointer user_data,
GDestroyNotify notify);
GST_EXPORT
void gst_pad_set_unlink_function_full (GstPad *pad,
GstPadUnlinkFunction unlink,
gpointer user_data,
@ -1374,73 +1430,133 @@ void gst_pad_set_unlink_function_full (GstPad *pad,
#define gst_pad_set_link_function(p,f) gst_pad_set_link_function_full((p),(f),NULL,NULL)
#define gst_pad_set_unlink_function(p,f) gst_pad_set_unlink_function_full((p),(f),NULL,NULL)
GST_EXPORT
gboolean gst_pad_can_link (GstPad *srcpad, GstPad *sinkpad);
GST_EXPORT
GstPadLinkReturn gst_pad_link (GstPad *srcpad, GstPad *sinkpad);
GST_EXPORT
GstPadLinkReturn gst_pad_link_full (GstPad *srcpad, GstPad *sinkpad, GstPadLinkCheck flags);
GST_EXPORT
gboolean gst_pad_unlink (GstPad *srcpad, GstPad *sinkpad);
GST_EXPORT
gboolean gst_pad_is_linked (GstPad *pad);
GST_EXPORT
GstPad* gst_pad_get_peer (GstPad *pad);
GST_EXPORT
GstCaps* gst_pad_get_pad_template_caps (GstPad *pad);
/* capsnego function for linked/unlinked pads */
GST_EXPORT
GstCaps * gst_pad_get_current_caps (GstPad * pad);
GST_EXPORT
gboolean gst_pad_has_current_caps (GstPad * pad);
/* capsnego for linked pads */
GST_EXPORT
GstCaps * gst_pad_get_allowed_caps (GstPad * pad);
/* pad offsets */
GST_EXPORT
gint64 gst_pad_get_offset (GstPad *pad);
GST_EXPORT
void gst_pad_set_offset (GstPad *pad, gint64 offset);
/* data passing functions to peer */
GST_EXPORT
GstFlowReturn gst_pad_push (GstPad *pad, GstBuffer *buffer);
GST_EXPORT
GstFlowReturn gst_pad_push_list (GstPad *pad, GstBufferList *list);
GST_EXPORT
GstFlowReturn gst_pad_pull_range (GstPad *pad, guint64 offset, guint size,
GstBuffer **buffer);
GST_EXPORT
gboolean gst_pad_push_event (GstPad *pad, GstEvent *event);
GST_EXPORT
gboolean gst_pad_event_default (GstPad *pad, GstObject *parent,
GstEvent *event);
GST_EXPORT
GstFlowReturn gst_pad_get_last_flow_return (GstPad *pad);
/* data passing functions on pad */
GST_EXPORT
GstFlowReturn gst_pad_chain (GstPad *pad, GstBuffer *buffer);
GST_EXPORT
GstFlowReturn gst_pad_chain_list (GstPad *pad, GstBufferList *list);
GST_EXPORT
GstFlowReturn gst_pad_get_range (GstPad *pad, guint64 offset, guint size,
GstBuffer **buffer);
GST_EXPORT
gboolean gst_pad_send_event (GstPad *pad, GstEvent *event);
/* pad tasks */
GST_EXPORT
gboolean gst_pad_start_task (GstPad *pad, GstTaskFunction func,
gpointer user_data, GDestroyNotify notify);
GST_EXPORT
gboolean gst_pad_pause_task (GstPad *pad);
GST_EXPORT
gboolean gst_pad_stop_task (GstPad *pad);
GST_EXPORT
GstTaskState gst_pad_get_task_state (GstPad *pad);
/* internal links */
GST_EXPORT
void gst_pad_set_iterate_internal_links_function_full (GstPad * pad,
GstPadIterIntLinkFunction iterintlink,
gpointer user_data,
GDestroyNotify notify);
GST_EXPORT
GstIterator * gst_pad_iterate_internal_links (GstPad * pad);
GST_EXPORT
GstIterator * gst_pad_iterate_internal_links_default (GstPad * pad, GstObject *parent);
#define gst_pad_set_iterate_internal_links_function(p,f) gst_pad_set_iterate_internal_links_function_full((p),(f),NULL,NULL)
/* generic query function */
GST_EXPORT
gboolean gst_pad_query (GstPad *pad, GstQuery *query);
GST_EXPORT
gboolean gst_pad_peer_query (GstPad *pad, GstQuery *query);
GST_EXPORT
void gst_pad_set_query_function_full (GstPad *pad, GstPadQueryFunction query,
gpointer user_data,
GDestroyNotify notify);
GST_EXPORT
gboolean gst_pad_query_default (GstPad *pad, GstObject *parent,
GstQuery *query);
#define gst_pad_set_query_function(p,f) gst_pad_set_query_function_full((p),(f),NULL,NULL)
/* misc helper functions */
GST_EXPORT
gboolean gst_pad_forward (GstPad *pad, GstPadForwardFunction forward,
gpointer user_data);

View file

@ -175,17 +175,27 @@ struct _GstStaticPadTemplate {
}
/* templates and factories */
GST_EXPORT
GType gst_pad_template_get_type (void);
GST_EXPORT
GType gst_static_pad_template_get_type (void);
GST_EXPORT
GstPadTemplate* gst_pad_template_new (const gchar *name_template,
GstPadDirection direction, GstPadPresence presence,
GstCaps *caps) G_GNUC_MALLOC;
GST_EXPORT
GstPadTemplate * gst_static_pad_template_get (GstStaticPadTemplate *pad_template);
GST_EXPORT
GstCaps* gst_static_pad_template_get_caps (GstStaticPadTemplate *templ);
GST_EXPORT
GstCaps* gst_pad_template_get_caps (GstPadTemplate *templ);
GST_EXPORT
void gst_pad_template_pad_created (GstPadTemplate * templ, GstPad * pad);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -82,8 +82,10 @@ G_BEGIN_DECLS
/* --- get_type functions --- */
GST_EXPORT
GType gst_param_spec_fraction_get_type (void);
GST_EXPORT
GType gst_param_spec_array_get_type (void);
@ -130,6 +132,7 @@ struct _GstParamSpecArray {
/* --- GParamSpec prototypes --- */
GST_EXPORT
GParamSpec * gst_param_spec_fraction (const gchar * name,
const gchar * nick,
const gchar * blurb,
@ -137,7 +140,7 @@ GParamSpec * gst_param_spec_fraction (const gchar * name,
gint max_num, gint max_denom,
gint default_num, gint default_denom,
GParamFlags flags) G_GNUC_MALLOC;
GST_EXPORT
GParamSpec * gst_param_spec_array (const gchar * name,
const gchar * nick,
const gchar * blurb,

View file

@ -27,6 +27,7 @@
G_BEGIN_DECLS
GST_EXPORT
GQuark gst_parse_error_quark (void);
/**
* GST_PARSE_ERROR:
@ -95,27 +96,33 @@ typedef struct _GstParseContext GstParseContext;
/* create, process and free a parse context */
GST_EXPORT
GType gst_parse_context_get_type (void);
GST_EXPORT
GstParseContext * gst_parse_context_new (void) G_GNUC_MALLOC;
GST_EXPORT
gchar ** gst_parse_context_get_missing_elements (GstParseContext * context) G_GNUC_MALLOC;
GST_EXPORT
void gst_parse_context_free (GstParseContext * context);
/* parse functions */
GST_EXPORT
GstElement * gst_parse_launch (const gchar * pipeline_description,
GError ** error) G_GNUC_MALLOC;
GST_EXPORT
GstElement * gst_parse_launchv (const gchar ** argv,
GError ** error) G_GNUC_MALLOC;
GST_EXPORT
GstElement * gst_parse_launch_full (const gchar * pipeline_description,
GstParseContext * context,
GstParseFlags flags,
GError ** error) G_GNUC_MALLOC;
GST_EXPORT
GstElement * gst_parse_launchv_full (const gchar ** argv,
GstParseContext * context,
GstParseFlags flags,

View file

@ -88,24 +88,46 @@ struct _GstPipelineClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_pipeline_get_type (void);
GST_EXPORT
GstElement* gst_pipeline_new (const gchar *name) G_GNUC_MALLOC;
GST_EXPORT
GstBus* gst_pipeline_get_bus (GstPipeline *pipeline);
GST_EXPORT
void gst_pipeline_use_clock (GstPipeline *pipeline, GstClock *clock);
GST_EXPORT
gboolean gst_pipeline_set_clock (GstPipeline *pipeline, GstClock *clock);
GST_EXPORT
GstClock* gst_pipeline_get_clock (GstPipeline *pipeline);
GST_EXPORT
GstClock* gst_pipeline_get_pipeline_clock (GstPipeline *pipeline);
GST_EXPORT
void gst_pipeline_auto_clock (GstPipeline *pipeline);
GST_EXPORT
void gst_pipeline_set_delay (GstPipeline *pipeline, GstClockTime delay);
GST_EXPORT
GstClockTime gst_pipeline_get_delay (GstPipeline *pipeline);
GST_EXPORT
void gst_pipeline_set_latency (GstPipeline *pipeline, GstClockTime latency);
GST_EXPORT
GstClockTime gst_pipeline_get_latency (GstPipeline *pipeline);
GST_EXPORT
void gst_pipeline_set_auto_flush_bus (GstPipeline *pipeline, gboolean auto_flush);
GST_EXPORT
gboolean gst_pipeline_get_auto_flush_bus (GstPipeline *pipeline);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -48,6 +48,8 @@ typedef struct _GstPluginDesc GstPluginDesc;
*
* Returns: The error quark used in GError messages
*/
GST_EXPORT
GQuark gst_plugin_error_quark (void);
/**
* GST_PLUGIN_ERROR:
@ -303,8 +305,10 @@ G_END_DECLS
typedef gboolean (*GstPluginFilter) (GstPlugin *plugin,
gpointer user_data);
GST_EXPORT
GType gst_plugin_get_type (void);
GST_EXPORT
gboolean gst_plugin_register_static (gint major_version,
gint minor_version,
const gchar *name,
@ -315,7 +319,7 @@ gboolean gst_plugin_register_static (gint major_version,
const gchar *source,
const gchar *package,
const gchar *origin);
GST_EXPORT
gboolean gst_plugin_register_static_full (gint major_version,
gint minor_version,
const gchar *name,
@ -327,37 +331,64 @@ gboolean gst_plugin_register_static_full (gint major_version,
const gchar *package,
const gchar *origin,
gpointer user_data);
GST_EXPORT
const gchar* gst_plugin_get_name (GstPlugin *plugin);
GST_EXPORT
const gchar* gst_plugin_get_description (GstPlugin *plugin);
GST_EXPORT
const gchar* gst_plugin_get_filename (GstPlugin *plugin);
GST_EXPORT
const gchar* gst_plugin_get_version (GstPlugin *plugin);
GST_EXPORT
const gchar* gst_plugin_get_license (GstPlugin *plugin);
GST_EXPORT
const gchar* gst_plugin_get_source (GstPlugin *plugin);
GST_EXPORT
const gchar* gst_plugin_get_package (GstPlugin *plugin);
GST_EXPORT
const gchar* gst_plugin_get_origin (GstPlugin *plugin);
GST_EXPORT
const gchar* gst_plugin_get_release_date_string (GstPlugin *plugin);
GST_EXPORT
const GstStructure* gst_plugin_get_cache_data (GstPlugin * plugin);
GST_EXPORT
void gst_plugin_set_cache_data (GstPlugin * plugin, GstStructure *cache_data);
GST_EXPORT
gboolean gst_plugin_is_loaded (GstPlugin *plugin);
GST_EXPORT
GstPlugin * gst_plugin_load_file (const gchar *filename, GError** error);
GST_EXPORT
GstPlugin * gst_plugin_load (GstPlugin *plugin);
GST_EXPORT
GstPlugin * gst_plugin_load_by_name (const gchar *name);
GST_EXPORT
void gst_plugin_add_dependency (GstPlugin * plugin,
const gchar ** env_vars,
const gchar ** paths,
const gchar ** names,
GstPluginDependencyFlags flags);
GST_EXPORT
void gst_plugin_add_dependency_simple (GstPlugin * plugin,
const gchar * env_vars,
const gchar * paths,
const gchar * names,
GstPluginDependencyFlags flags);
GST_EXPORT
void gst_plugin_list_free (GList *list);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -104,19 +104,33 @@ typedef gboolean (*GstPluginFeatureFilter) (GstPluginFeature *featu
gpointer user_data);
/* normal GObject stuff */
GST_EXPORT
GType gst_plugin_feature_get_type (void);
GST_EXPORT
GstPluginFeature *
gst_plugin_feature_load (GstPluginFeature *feature);
GST_EXPORT
void gst_plugin_feature_set_rank (GstPluginFeature *feature, guint rank);
GST_EXPORT
guint gst_plugin_feature_get_rank (GstPluginFeature *feature);
GST_EXPORT
GstPlugin * gst_plugin_feature_get_plugin (GstPluginFeature *feature);
GST_EXPORT
const gchar * gst_plugin_feature_get_plugin_name (GstPluginFeature *feature);
GST_EXPORT
void gst_plugin_feature_list_free (GList *list);
GST_EXPORT
GList *gst_plugin_feature_list_copy (GList *list) G_GNUC_MALLOC;
GST_EXPORT
void gst_plugin_feature_list_debug (GList *list);
/**
@ -132,10 +146,12 @@ void gst_plugin_feature_list_debug (GList *list);
#define GST_PLUGIN_FEATURE_LIST_DEBUG(list)
#endif
GST_EXPORT
gboolean gst_plugin_feature_check_version (GstPluginFeature *feature,
guint min_major,
guint min_minor,
guint min_micro);
GST_EXPORT
gint gst_plugin_feature_rank_compare_func (gconstpointer p1,
gconstpointer p2);

View file

@ -61,33 +61,64 @@ typedef struct {
*/
#define GST_POLL_FD_INIT { -1, -1 }
GST_EXPORT
GstPoll* gst_poll_new (gboolean controllable) G_GNUC_MALLOC;
GST_EXPORT
GstPoll* gst_poll_new_timer (void) G_GNUC_MALLOC;
GST_EXPORT
void gst_poll_free (GstPoll *set);
GST_EXPORT
void gst_poll_get_read_gpollfd (GstPoll *set, GPollFD *fd);
GST_EXPORT
void gst_poll_fd_init (GstPollFD *fd);
GST_EXPORT
gboolean gst_poll_add_fd (GstPoll *set, GstPollFD *fd);
GST_EXPORT
gboolean gst_poll_remove_fd (GstPoll *set, GstPollFD *fd);
GST_EXPORT
gboolean gst_poll_fd_ctl_write (GstPoll *set, GstPollFD *fd, gboolean active);
GST_EXPORT
gboolean gst_poll_fd_ctl_read (GstPoll *set, GstPollFD *fd, gboolean active);
GST_EXPORT
void gst_poll_fd_ignored (GstPoll *set, GstPollFD *fd);
GST_EXPORT
gboolean gst_poll_fd_has_closed (const GstPoll *set, GstPollFD *fd);
GST_EXPORT
gboolean gst_poll_fd_has_error (const GstPoll *set, GstPollFD *fd);
GST_EXPORT
gboolean gst_poll_fd_can_read (const GstPoll *set, GstPollFD *fd);
GST_EXPORT
gboolean gst_poll_fd_can_write (const GstPoll *set, GstPollFD *fd);
GST_EXPORT
gint gst_poll_wait (GstPoll *set, GstClockTime timeout);
GST_EXPORT
gboolean gst_poll_set_controllable (GstPoll *set, gboolean controllable);
GST_EXPORT
void gst_poll_restart (GstPoll *set);
GST_EXPORT
void gst_poll_set_flushing (GstPoll *set, gboolean flushing);
GST_EXPORT
gboolean gst_poll_write_control (GstPoll *set);
GST_EXPORT
gboolean gst_poll_read_control (GstPoll *set) G_GNUC_WARN_UNUSED_RESULT;
G_END_DECLS

View file

@ -77,27 +77,42 @@ struct _GstPresetInterface
gpointer _gst_reserved[GST_PADDING];
};
GType gst_preset_get_type(void);
GST_EXPORT
GType gst_preset_get_type (void);
GST_EXPORT
gchar** gst_preset_get_preset_names (GstPreset *preset) G_GNUC_MALLOC;
GST_EXPORT
gchar** gst_preset_get_property_names (GstPreset *preset) G_GNUC_MALLOC;
GST_EXPORT
gboolean gst_preset_load_preset (GstPreset *preset, const gchar *name);
GST_EXPORT
gboolean gst_preset_save_preset (GstPreset *preset, const gchar *name);
GST_EXPORT
gboolean gst_preset_rename_preset (GstPreset *preset, const gchar *old_name,
const gchar *new_name);
GST_EXPORT
gboolean gst_preset_delete_preset (GstPreset *preset, const gchar *name);
GST_EXPORT
gboolean gst_preset_set_meta (GstPreset *preset, const gchar *name,
const gchar *tag, const gchar *value);
GST_EXPORT
gboolean gst_preset_get_meta (GstPreset *preset, const gchar *name,
const gchar *tag, gchar **value);
GST_EXPORT
gboolean gst_preset_set_app_dir (const gchar *app_dir);
GST_EXPORT
const gchar *gst_preset_get_app_dir (void);
GST_EXPORT
gboolean gst_preset_is_editable (GstPreset *preset);
G_END_DECLS
#endif /* __GST_PRESET_H__ */

View file

@ -52,7 +52,9 @@ struct _GstProtectionMeta
GstStructure *info;
};
GST_EXPORT
GType gst_protection_meta_api_get_type (void);
#define GST_PROTECTION_META_API_TYPE (gst_protection_meta_api_get_type())
#define gst_buffer_get_protection_meta(b) \
@ -60,12 +62,14 @@ GType gst_protection_meta_api_get_type (void);
#define GST_PROTECTION_META_INFO (gst_protection_meta_get_info())
const GstMetaInfo *gst_protection_meta_get_info (void);
GST_EXPORT
const GstMetaInfo * gst_protection_meta_get_info (void);
GstProtectionMeta *gst_buffer_add_protection_meta (GstBuffer * buffer,
GST_EXPORT
GstProtectionMeta * gst_buffer_add_protection_meta (GstBuffer * buffer,
GstStructure * info);
const gchar *gst_protection_select_system (const gchar ** system_identifiers);
GST_EXPORT
const gchar * gst_protection_select_system (const gchar ** system_identifiers);
G_END_DECLS
#endif /* __GST_PROTECTION_META_H__ */

View file

@ -212,12 +212,18 @@ typedef enum {
#include <gst/gsttoc.h>
#include <gst/gstcontext.h>
GST_EXPORT
const gchar* gst_query_type_get_name (GstQueryType type);
GST_EXPORT
GQuark gst_query_type_to_quark (GstQueryType type);
GST_EXPORT
GstQueryTypeFlags
gst_query_type_get_flags (GstQueryType type);
GST_EXPORT
GType gst_query_get_type (void);
/* refcounting */
@ -304,130 +310,247 @@ gst_query_replace (GstQuery **old_query, GstQuery *new_query)
}
/* application specific query */
GST_EXPORT
GstQuery * gst_query_new_custom (GstQueryType type, GstStructure *structure) G_GNUC_MALLOC;
GST_EXPORT
const GstStructure *
gst_query_get_structure (GstQuery *query);
GST_EXPORT
GstStructure * gst_query_writable_structure (GstQuery *query);
/* position query */
GST_EXPORT
GstQuery* gst_query_new_position (GstFormat format) G_GNUC_MALLOC;
GST_EXPORT
void gst_query_set_position (GstQuery *query, GstFormat format, gint64 cur);
GST_EXPORT
void gst_query_parse_position (GstQuery *query, GstFormat *format, gint64 *cur);
/* duration query */
GST_EXPORT
GstQuery* gst_query_new_duration (GstFormat format) G_GNUC_MALLOC;
GST_EXPORT
void gst_query_set_duration (GstQuery *query, GstFormat format, gint64 duration);
GST_EXPORT
void gst_query_parse_duration (GstQuery *query, GstFormat *format, gint64 *duration);
/* latency query */
GST_EXPORT
GstQuery* gst_query_new_latency (void) G_GNUC_MALLOC;
GST_EXPORT
void gst_query_set_latency (GstQuery *query, gboolean live, GstClockTime min_latency,
GstClockTime max_latency);
GST_EXPORT
void gst_query_parse_latency (GstQuery *query, gboolean *live, GstClockTime *min_latency,
GstClockTime *max_latency);
/* convert query */
GST_EXPORT
GstQuery* gst_query_new_convert (GstFormat src_format, gint64 value, GstFormat dest_format) G_GNUC_MALLOC;
GST_EXPORT
void gst_query_set_convert (GstQuery *query, GstFormat src_format, gint64 src_value,
GstFormat dest_format, gint64 dest_value);
GST_EXPORT
void gst_query_parse_convert (GstQuery *query, GstFormat *src_format, gint64 *src_value,
GstFormat *dest_format, gint64 *dest_value);
/* segment query */
GST_EXPORT
GstQuery* gst_query_new_segment (GstFormat format) G_GNUC_MALLOC;
GST_EXPORT
void gst_query_set_segment (GstQuery *query, gdouble rate, GstFormat format,
gint64 start_value, gint64 stop_value);
GST_EXPORT
void gst_query_parse_segment (GstQuery *query, gdouble *rate, GstFormat *format,
gint64 *start_value, gint64 *stop_value);
/* seeking query */
GST_EXPORT
GstQuery* gst_query_new_seeking (GstFormat format) G_GNUC_MALLOC;
GST_EXPORT
void gst_query_set_seeking (GstQuery *query, GstFormat format,
gboolean seekable,
gint64 segment_start,
gint64 segment_end);
GST_EXPORT
void gst_query_parse_seeking (GstQuery *query, GstFormat *format,
gboolean *seekable,
gint64 *segment_start,
gint64 *segment_end);
/* formats query */
GST_EXPORT
GstQuery* gst_query_new_formats (void) G_GNUC_MALLOC;
GST_EXPORT
void gst_query_set_formats (GstQuery *query, gint n_formats, ...);
GST_EXPORT
void gst_query_set_formatsv (GstQuery *query, gint n_formats, const GstFormat *formats);
GST_EXPORT
void gst_query_parse_n_formats (GstQuery *query, guint *n_formats);
GST_EXPORT
void gst_query_parse_nth_format (GstQuery *query, guint nth, GstFormat *format);
/* buffering query */
GST_EXPORT
GstQuery* gst_query_new_buffering (GstFormat format) G_GNUC_MALLOC;
GST_EXPORT
void gst_query_set_buffering_percent (GstQuery *query, gboolean busy, gint percent);
GST_EXPORT
void gst_query_parse_buffering_percent (GstQuery *query, gboolean *busy, gint *percent);
GST_EXPORT
void gst_query_set_buffering_stats (GstQuery *query, GstBufferingMode mode,
gint avg_in, gint avg_out,
gint64 buffering_left);
GST_EXPORT
void gst_query_parse_buffering_stats (GstQuery *query, GstBufferingMode *mode,
gint *avg_in, gint *avg_out,
gint64 *buffering_left);
GST_EXPORT
void gst_query_set_buffering_range (GstQuery *query, GstFormat format,
gint64 start, gint64 stop,
gint64 estimated_total);
GST_EXPORT
void gst_query_parse_buffering_range (GstQuery *query, GstFormat *format,
gint64 *start, gint64 *stop,
gint64 *estimated_total);
GST_EXPORT
gboolean gst_query_add_buffering_range (GstQuery *query,
gint64 start, gint64 stop);
GST_EXPORT
guint gst_query_get_n_buffering_ranges (GstQuery *query);
GST_EXPORT
gboolean gst_query_parse_nth_buffering_range (GstQuery *query,
guint index, gint64 *start,
gint64 *stop);
/* URI query */
GST_EXPORT
GstQuery * gst_query_new_uri (void) G_GNUC_MALLOC;
GST_EXPORT
void gst_query_parse_uri (GstQuery *query, gchar **uri);
GST_EXPORT
void gst_query_set_uri (GstQuery *query, const gchar *uri);
GST_EXPORT
void gst_query_parse_uri_redirection (GstQuery *query, gchar **uri);
GST_EXPORT
void gst_query_set_uri_redirection (GstQuery *query, const gchar *uri);
GST_EXPORT
void gst_query_parse_uri_redirection_permanent (GstQuery *query, gboolean * permanent);
GST_EXPORT
void gst_query_set_uri_redirection_permanent (GstQuery *query, gboolean permanent);
/* allocation query */
GST_EXPORT
GstQuery * gst_query_new_allocation (GstCaps *caps, gboolean need_pool) G_GNUC_MALLOC;
GST_EXPORT
void gst_query_parse_allocation (GstQuery *query, GstCaps **caps, gboolean *need_pool);
/* pools */
GST_EXPORT
void gst_query_add_allocation_pool (GstQuery *query, GstBufferPool *pool,
guint size, guint min_buffers,
guint max_buffers);
GST_EXPORT
guint gst_query_get_n_allocation_pools (GstQuery *query);
GST_EXPORT
void gst_query_parse_nth_allocation_pool (GstQuery *query, guint index,
GstBufferPool **pool,
guint *size, guint *min_buffers,
guint *max_buffers);
GST_EXPORT
void gst_query_set_nth_allocation_pool (GstQuery *query, guint index,
GstBufferPool *pool,
guint size, guint min_buffers,
guint max_buffers);
GST_EXPORT
void gst_query_remove_nth_allocation_pool (GstQuery *query, guint index);
/* allocators */
GST_EXPORT
void gst_query_add_allocation_param (GstQuery *query, GstAllocator *allocator,
const GstAllocationParams *params);
GST_EXPORT
guint gst_query_get_n_allocation_params (GstQuery *query);
GST_EXPORT
void gst_query_parse_nth_allocation_param (GstQuery *query, guint index,
GstAllocator **allocator,
GstAllocationParams *params);
GST_EXPORT
void gst_query_set_nth_allocation_param (GstQuery *query, guint index,
GstAllocator *allocator,
const GstAllocationParams *params);
GST_EXPORT
void gst_query_remove_nth_allocation_param (GstQuery *query, guint index);
/* metadata */
GST_EXPORT
void gst_query_add_allocation_meta (GstQuery *query, GType api, const GstStructure *params);
GST_EXPORT
guint gst_query_get_n_allocation_metas (GstQuery *query);
GST_EXPORT
GType gst_query_parse_nth_allocation_meta (GstQuery *query, guint index,
const GstStructure **params);
GST_EXPORT
void gst_query_remove_nth_allocation_meta (GstQuery *query, guint index);
GST_EXPORT
gboolean gst_query_find_allocation_meta (GstQuery *query, GType api, guint *index);
@ -446,40 +569,78 @@ typedef enum {
GST_SCHEDULING_FLAG_BANDWIDTH_LIMITED = (1 << 2)
} GstSchedulingFlags;
GST_EXPORT
GstQuery * gst_query_new_scheduling (void) G_GNUC_MALLOC;
GST_EXPORT
void gst_query_set_scheduling (GstQuery *query, GstSchedulingFlags flags,
gint minsize, gint maxsize, gint align);
GST_EXPORT
void gst_query_parse_scheduling (GstQuery *query, GstSchedulingFlags *flags,
gint *minsize, gint *maxsize, gint *align);
GST_EXPORT
void gst_query_add_scheduling_mode (GstQuery *query, GstPadMode mode);
GST_EXPORT
guint gst_query_get_n_scheduling_modes (GstQuery *query);
GST_EXPORT
GstPadMode gst_query_parse_nth_scheduling_mode (GstQuery *query, guint index);
GST_EXPORT
gboolean gst_query_has_scheduling_mode (GstQuery *query, GstPadMode mode);
GST_EXPORT
gboolean gst_query_has_scheduling_mode_with_flags (GstQuery * query, GstPadMode mode,
GstSchedulingFlags flags);
/* accept-caps query */
GST_EXPORT
GstQuery * gst_query_new_accept_caps (GstCaps *caps) G_GNUC_MALLOC;
GST_EXPORT
void gst_query_parse_accept_caps (GstQuery *query, GstCaps **caps);
GST_EXPORT
void gst_query_set_accept_caps_result (GstQuery *query, gboolean result);
GST_EXPORT
void gst_query_parse_accept_caps_result (GstQuery *query, gboolean *result);
/* caps query */
GST_EXPORT
GstQuery * gst_query_new_caps (GstCaps *filter) G_GNUC_MALLOC;
GST_EXPORT
void gst_query_parse_caps (GstQuery *query, GstCaps **filter);
GST_EXPORT
void gst_query_set_caps_result (GstQuery *query, GstCaps *caps);
GST_EXPORT
void gst_query_parse_caps_result (GstQuery *query, GstCaps **caps);
/* drain query */
GST_EXPORT
GstQuery * gst_query_new_drain (void) G_GNUC_MALLOC;
/* context query */
GST_EXPORT
GstQuery * gst_query_new_context (const gchar * context_type) G_GNUC_MALLOC;
GST_EXPORT
gboolean gst_query_parse_context_type (GstQuery * query, const gchar ** context_type);
GST_EXPORT
void gst_query_set_context (GstQuery *query, GstContext *context);
GST_EXPORT
void gst_query_parse_context (GstQuery *query, GstContext **context);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -57,10 +57,13 @@ struct _GstRegistryClass {
GstObjectClass parent_class;
};
GST_EXPORT
GType gst_registry_get_type (void);
GST_EXPORT
GstRegistry * gst_registry_get (void);
GST_EXPORT
gboolean gst_registry_scan_path (GstRegistry *registry, const gchar *path);
#if 0
@ -68,31 +71,53 @@ void gst_registry_add_path (GstRegistry * registry,
GList* gst_registry_get_path_list (GstRegistry *registry);
#endif
GST_EXPORT
gboolean gst_registry_add_plugin (GstRegistry *registry, GstPlugin *plugin);
GST_EXPORT
void gst_registry_remove_plugin (GstRegistry *registry, GstPlugin *plugin);
GST_EXPORT
gboolean gst_registry_add_feature (GstRegistry * registry, GstPluginFeature * feature);
GST_EXPORT
void gst_registry_remove_feature (GstRegistry * registry, GstPluginFeature * feature);
GST_EXPORT
GList* gst_registry_get_plugin_list (GstRegistry *registry);
GST_EXPORT
GList* gst_registry_plugin_filter (GstRegistry *registry,
GstPluginFilter filter,
gboolean first,
gpointer user_data);
GST_EXPORT
GList* gst_registry_feature_filter (GstRegistry *registry,
GstPluginFeatureFilter filter,
gboolean first,
gpointer user_data);
GST_EXPORT
GList * gst_registry_get_feature_list (GstRegistry *registry,
GType type);
GST_EXPORT
GList * gst_registry_get_feature_list_by_plugin (GstRegistry *registry, const gchar *name);
GST_EXPORT
guint32 gst_registry_get_feature_list_cookie (GstRegistry *registry);
GST_EXPORT
GstPlugin* gst_registry_find_plugin (GstRegistry *registry, const gchar *name);
GST_EXPORT
GstPluginFeature* gst_registry_find_feature (GstRegistry *registry, const gchar *name, GType type);
GST_EXPORT
GstPlugin * gst_registry_lookup (GstRegistry *registry, const char *filename);
GST_EXPORT
GstPluginFeature * gst_registry_lookup_feature (GstRegistry *registry, const char *name);
GST_EXPORT
gboolean gst_registry_check_feature_version (GstRegistry *registry,
const gchar *feature_name,
guint min_major,

View file

@ -47,19 +47,32 @@ GST_EXPORT GType _gst_sample_type;
*/
typedef struct _GstSample GstSample;
GST_EXPORT
GType gst_sample_get_type (void);
/* allocation */
GST_EXPORT
GstSample * gst_sample_new (GstBuffer *buffer,
GstCaps *caps,
const GstSegment *segment,
GstStructure *info);
GST_EXPORT
GstBuffer * gst_sample_get_buffer (GstSample *sample);
GST_EXPORT
GstCaps * gst_sample_get_caps (GstSample *sample);
GST_EXPORT
GstSegment * gst_sample_get_segment (GstSample *sample);
GST_EXPORT
const GstStructure * gst_sample_get_info (GstSample *sample);
GST_EXPORT
GstBufferList * gst_sample_get_buffer_list (GstSample *sample);
GST_EXPORT
void gst_sample_set_buffer_list (GstSample *sample, GstBufferList *buffer_list);
/* refcounting */

View file

@ -209,41 +209,67 @@ struct _GstSegment {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_segment_get_type (void);
GST_EXPORT
GstSegment * gst_segment_new (void) G_GNUC_MALLOC;
GST_EXPORT
GstSegment * gst_segment_copy (const GstSegment *segment) G_GNUC_MALLOC;
GST_EXPORT
void gst_segment_copy_into (const GstSegment *src, GstSegment *dest);
GST_EXPORT
void gst_segment_free (GstSegment *segment);
GST_EXPORT
void gst_segment_init (GstSegment *segment, GstFormat format);
GST_EXPORT
gint gst_segment_to_stream_time_full (const GstSegment *segment, GstFormat format, guint64 position, guint64 * stream_time);
GST_EXPORT
guint64 gst_segment_to_stream_time (const GstSegment *segment, GstFormat format, guint64 position);
GST_EXPORT
gint gst_segment_position_from_stream_time_full (const GstSegment * segment, GstFormat format, guint64 stream_time, guint64 * position);
GST_EXPORT
guint64 gst_segment_position_from_stream_time (const GstSegment * segment, GstFormat format, guint64 stream_time);
GST_EXPORT
guint64 gst_segment_to_running_time (const GstSegment *segment, GstFormat format, guint64 position);
GST_EXPORT
gint gst_segment_to_running_time_full (const GstSegment *segment, GstFormat format, guint64 position,
guint64 * running_time);
#ifndef GST_DISABLE_DEPRECATED
GST_EXPORT
guint64 gst_segment_to_position (const GstSegment *segment, GstFormat format, guint64 running_time);
#endif
GST_EXPORT
gint gst_segment_position_from_running_time_full (const GstSegment *segment, GstFormat format, guint64 running_time, guint64 * position);
GST_EXPORT
guint64 gst_segment_position_from_running_time (const GstSegment *segment, GstFormat format, guint64 running_time);
GST_EXPORT
gboolean gst_segment_set_running_time (GstSegment *segment, GstFormat format, guint64 running_time);
GST_EXPORT
gboolean gst_segment_offset_running_time (GstSegment *segment, GstFormat format, gint64 offset);
GST_EXPORT
gboolean gst_segment_clip (const GstSegment *segment, GstFormat format, guint64 start,
guint64 stop, guint64 *clip_start, guint64 *clip_stop);
GST_EXPORT
gboolean gst_segment_do_seek (GstSegment * segment, gdouble rate,
GstFormat format, GstSeekFlags flags,
GstSeekType start_type, guint64 start,
GstSeekType stop_type, guint64 stop, gboolean * update);
GST_EXPORT
gboolean gst_segment_is_equal (const GstSegment * s0, const GstSegment * s1);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -93,15 +93,22 @@ struct _GstStreamCollectionClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_stream_collection_get_type (void);
GST_EXPORT
GstStreamCollection *gst_stream_collection_new (const gchar *upstream_id);
GST_EXPORT
const gchar *gst_stream_collection_get_upstream_id (GstStreamCollection *collection);
GST_EXPORT
guint gst_stream_collection_get_size (GstStreamCollection *collection);
GST_EXPORT
GstStream *gst_stream_collection_get_stream (GstStreamCollection *collection, guint index);
GST_EXPORT
gboolean gst_stream_collection_add_stream (GstStreamCollection *collection,
GstStream *stream);

View file

@ -107,30 +107,45 @@ struct _GstStreamClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_stream_get_type (void);
#include <gst/gstevent.h>
GST_EXPORT
GstStream *gst_stream_new (const gchar *stream_id,
GstCaps *caps,
GstStreamType type,
GstStreamFlags flags);
GST_EXPORT
const gchar * gst_stream_get_stream_id (GstStream *stream);
const gchar *gst_stream_get_stream_id (GstStream *stream);
GST_EXPORT
void gst_stream_set_stream_flags (GstStream *stream, GstStreamFlags flags);
GST_EXPORT
GstStreamFlags gst_stream_get_stream_flags (GstStream *stream);
GST_EXPORT
void gst_stream_set_stream_type (GstStream *stream, GstStreamType stream_type);
GST_EXPORT
GstStreamType gst_stream_get_stream_type (GstStream *stream);
GST_EXPORT
void gst_stream_set_tags (GstStream *stream, GstTagList *tags);
GstTagList *gst_stream_get_tags (GstStream *stream);
GST_EXPORT
GstTagList * gst_stream_get_tags (GstStream *stream);
GST_EXPORT
void gst_stream_set_caps (GstStream *stream, GstCaps *caps);
GstCaps *gst_stream_get_caps (GstStream *stream);
const gchar *gst_stream_type_get_name (GstStreamType stype);
GST_EXPORT
GstCaps * gst_stream_get_caps (GstStream *stream);
GST_EXPORT
const gchar * gst_stream_type_get_name (GstStreamType stype);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstStream, gst_object_unref)

View file

@ -100,255 +100,270 @@ struct _GstStructure {
GQuark name;
};
GST_EXPORT
GType gst_structure_get_type (void);
GST_EXPORT
GstStructure * gst_structure_new_empty (const gchar * name) G_GNUC_MALLOC;
GST_EXPORT
GstStructure * gst_structure_new_id_empty (GQuark quark) G_GNUC_MALLOC;
GST_EXPORT
GstStructure * gst_structure_new (const gchar * name,
const gchar * firstfield,
...) G_GNUC_NULL_TERMINATED G_GNUC_MALLOC;
GST_EXPORT
GstStructure * gst_structure_new_valist (const gchar * name,
const gchar * firstfield,
va_list varargs) G_GNUC_MALLOC;
GST_EXPORT
GstStructure * gst_structure_new_id (GQuark name_quark,
GQuark field_quark,
...) G_GNUC_MALLOC;
GST_EXPORT
GstStructure * gst_structure_new_from_string (const gchar * string);
GST_EXPORT
GstStructure * gst_structure_copy (const GstStructure * structure) G_GNUC_MALLOC;
GST_EXPORT
gboolean gst_structure_set_parent_refcount (GstStructure * structure,
gint * refcount);
GST_EXPORT
void gst_structure_free (GstStructure * structure);
GST_EXPORT
const gchar * gst_structure_get_name (const GstStructure * structure);
GST_EXPORT
GQuark gst_structure_get_name_id (const GstStructure * structure);
GST_EXPORT
gboolean gst_structure_has_name (const GstStructure * structure,
const gchar * name);
GST_EXPORT
void gst_structure_set_name (GstStructure * structure,
const gchar * name);
GST_EXPORT
void gst_structure_id_set_value (GstStructure * structure,
GQuark field,
const GValue * value);
GST_EXPORT
void gst_structure_set_value (GstStructure * structure,
const gchar * fieldname,
const GValue * value);
GST_EXPORT
void gst_structure_set_array (GstStructure * structure,
const gchar * fieldname,
const GValueArray * array);
GST_EXPORT
void gst_structure_set_list (GstStructure * structure,
const gchar * fieldname,
const GValueArray * array);
GST_EXPORT
void gst_structure_id_take_value (GstStructure * structure,
GQuark field,
GValue * value);
GST_EXPORT
void gst_structure_take_value (GstStructure * structure,
const gchar * fieldname,
GValue * value);
GST_EXPORT
void gst_structure_set (GstStructure * structure,
const gchar * fieldname,
...) G_GNUC_NULL_TERMINATED;
GST_EXPORT
void gst_structure_set_valist (GstStructure * structure,
const gchar * fieldname,
va_list varargs);
GST_EXPORT
void gst_structure_id_set (GstStructure * structure,
GQuark fieldname,
...) G_GNUC_NULL_TERMINATED;
GST_EXPORT
void gst_structure_id_set_valist (GstStructure * structure,
GQuark fieldname,
va_list varargs);
GST_EXPORT
gboolean gst_structure_get_valist (const GstStructure * structure,
const char * first_fieldname,
va_list args);
GST_EXPORT
gboolean gst_structure_get (const GstStructure * structure,
const char * first_fieldname,
...) G_GNUC_NULL_TERMINATED;
GST_EXPORT
gboolean gst_structure_id_get_valist (const GstStructure * structure,
GQuark first_field_id,
va_list args);
GST_EXPORT
gboolean gst_structure_id_get (const GstStructure * structure,
GQuark first_field_id,
...) G_GNUC_NULL_TERMINATED;
GST_EXPORT
const GValue * gst_structure_id_get_value (const GstStructure * structure,
GQuark field);
GST_EXPORT
const GValue * gst_structure_get_value (const GstStructure * structure,
const gchar * fieldname);
GST_EXPORT
void gst_structure_remove_field (GstStructure * structure,
const gchar * fieldname);
GST_EXPORT
void gst_structure_remove_fields (GstStructure * structure,
const gchar * fieldname,
...) G_GNUC_NULL_TERMINATED;
GST_EXPORT
void gst_structure_remove_fields_valist (GstStructure * structure,
const gchar * fieldname,
va_list varargs);
GST_EXPORT
void gst_structure_remove_all_fields (GstStructure * structure);
GST_EXPORT
GType gst_structure_get_field_type (const GstStructure * structure,
const gchar * fieldname);
GST_EXPORT
gboolean gst_structure_foreach (const GstStructure * structure,
GstStructureForeachFunc func,
gpointer user_data);
GST_EXPORT
gboolean gst_structure_map_in_place (GstStructure * structure,
GstStructureMapFunc func,
gpointer user_data);
GST_EXPORT
void gst_structure_filter_and_map_in_place (GstStructure * structure,
GstStructureFilterMapFunc func,
gpointer user_data);
GST_EXPORT
gint gst_structure_n_fields (const GstStructure * structure);
GST_EXPORT
const gchar * gst_structure_nth_field_name (const GstStructure * structure,
guint index);
GST_EXPORT
gboolean gst_structure_id_has_field (const GstStructure * structure,
GQuark field);
GST_EXPORT
gboolean gst_structure_id_has_field_typed (const GstStructure * structure,
GQuark field,
GType type);
GST_EXPORT
gboolean gst_structure_has_field (const GstStructure * structure,
const gchar * fieldname);
GST_EXPORT
gboolean gst_structure_has_field_typed (const GstStructure * structure,
const gchar * fieldname,
GType type);
/* utility functions */
GST_EXPORT
gboolean gst_structure_get_boolean (const GstStructure * structure,
const gchar * fieldname,
gboolean * value);
GST_EXPORT
gboolean gst_structure_get_int (const GstStructure * structure,
const gchar * fieldname,
gint * value);
GST_EXPORT
gboolean gst_structure_get_uint (const GstStructure * structure,
const gchar * fieldname,
guint * value);
GST_EXPORT
gboolean gst_structure_get_int64 (const GstStructure * structure,
const gchar * fieldname,
gint64 * value);
GST_EXPORT
gboolean gst_structure_get_uint64 (const GstStructure * structure,
const gchar * fieldname,
guint64 * value);
GST_EXPORT
gboolean gst_structure_get_double (const GstStructure * structure,
const gchar * fieldname,
gdouble * value);
GST_EXPORT
gboolean gst_structure_get_date (const GstStructure * structure,
const gchar * fieldname,
GDate ** value);
GST_EXPORT
gboolean gst_structure_get_date_time (const GstStructure * structure,
const gchar * fieldname,
GstDateTime ** value);
GST_EXPORT
gboolean gst_structure_get_clock_time (const GstStructure * structure,
const gchar * fieldname,
GstClockTime * value);
GST_EXPORT
const gchar * gst_structure_get_string (const GstStructure * structure,
const gchar * fieldname);
GST_EXPORT
gboolean gst_structure_get_enum (const GstStructure * structure,
const gchar * fieldname,
GType enumtype,
gint * value);
GST_EXPORT
gboolean gst_structure_get_fraction (const GstStructure * structure,
const gchar * fieldname,
gint * value_numerator,
gint * value_denominator);
GST_EXPORT
gboolean gst_structure_get_flagset (const GstStructure * structure,
const gchar * fieldname,
guint * value_flags,
guint * value_mask);
GST_EXPORT
gboolean gst_structure_get_array (GstStructure * structure,
const gchar * fieldname,
GValueArray ** array);
GST_EXPORT
gboolean gst_structure_get_list (GstStructure * structure,
const gchar * fieldname,
GValueArray ** array);
GST_EXPORT
gchar * gst_structure_to_string (const GstStructure * structure) G_GNUC_MALLOC;
GST_EXPORT
GstStructure * gst_structure_from_string (const gchar * string,
gchar ** end) G_GNUC_MALLOC;
GST_EXPORT
gboolean gst_structure_fixate_field_nearest_int (GstStructure * structure,
const char * field_name,
int target);
GST_EXPORT
gboolean gst_structure_fixate_field_nearest_double (GstStructure * structure,
const char * field_name,
double target);
GST_EXPORT
gboolean gst_structure_fixate_field_boolean (GstStructure * structure,
const char * field_name,
gboolean target);
GST_EXPORT
gboolean gst_structure_fixate_field_string (GstStructure * structure,
const char * field_name,
const gchar * target);
GST_EXPORT
gboolean gst_structure_fixate_field_nearest_fraction (GstStructure * structure,
const char * field_name,
const gint target_numerator,
const gint target_denominator);
GST_EXPORT
gboolean gst_structure_fixate_field (GstStructure * structure,
const char * field_name);
GST_EXPORT
void gst_structure_fixate (GstStructure * structure);
GST_EXPORT
gboolean gst_structure_is_equal (const GstStructure * structure1,
const GstStructure * structure2);
GST_EXPORT
gboolean gst_structure_is_subset (const GstStructure * subset,
const GstStructure * superset);
GST_EXPORT
gboolean gst_structure_can_intersect (const GstStructure * struct1,
const GstStructure * struct2);
GST_EXPORT
GstStructure * gst_structure_intersect (const GstStructure * struct1,
const GstStructure * struct2) G_GNUC_MALLOC;

View file

@ -78,9 +78,13 @@ struct _GstSystemClockClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_system_clock_get_type (void);
GST_EXPORT
GstClock* gst_system_clock_obtain (void);
GST_EXPORT
void gst_system_clock_set_default (GstClock *new_clock);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -183,16 +183,19 @@ typedef void (*GstTagForeachFunc) (const GstTagList * list,
*/
typedef void (* GstTagMergeFunc) (GValue *dest, const GValue *src);
GST_EXPORT
GType gst_tag_list_get_type (void);
/* tag registration */
GST_EXPORT
void gst_tag_register (const gchar * name,
GstTagFlag flag,
GType type,
const gchar * nick,
const gchar * blurb,
GstTagMergeFunc func);
GST_EXPORT
void gst_tag_register_static (const gchar * name,
GstTagFlag flag,
GType type,
@ -201,15 +204,31 @@ void gst_tag_register_static (const gchar * name,
GstTagMergeFunc func);
/* some default merging functions */
GST_EXPORT
void gst_tag_merge_use_first (GValue * dest, const GValue * src);
GST_EXPORT
void gst_tag_merge_strings_with_comma (GValue * dest, const GValue * src);
/* basic tag support */
GST_EXPORT
gboolean gst_tag_exists (const gchar * tag);
GST_EXPORT
GType gst_tag_get_type (const gchar * tag);
GST_EXPORT
const gchar * gst_tag_get_nick (const gchar * tag);
GST_EXPORT
const gchar * gst_tag_get_description (const gchar * tag);
GST_EXPORT
GstTagFlag gst_tag_get_flag (const gchar * tag);
GST_EXPORT
gboolean gst_tag_is_fixed (const gchar * tag);
/* tag lists */
@ -227,148 +246,203 @@ typedef enum {
GST_TAG_SCOPE_GLOBAL
} GstTagScope;
GST_EXPORT
GstTagList * gst_tag_list_new_empty (void) G_GNUC_MALLOC;
GST_EXPORT
GstTagList * gst_tag_list_new (const gchar * tag, ...) G_GNUC_MALLOC;
GST_EXPORT
GstTagList * gst_tag_list_new_valist (va_list var_args) G_GNUC_MALLOC;
GST_EXPORT
void gst_tag_list_set_scope (GstTagList * list, GstTagScope scope);
GST_EXPORT
GstTagScope gst_tag_list_get_scope (const GstTagList * list);
GST_EXPORT
gchar * gst_tag_list_to_string (const GstTagList * list) G_GNUC_MALLOC;
GST_EXPORT
GstTagList * gst_tag_list_new_from_string (const gchar * str) G_GNUC_MALLOC;
GST_EXPORT
gint gst_tag_list_n_tags (const GstTagList * list);
GST_EXPORT
const gchar* gst_tag_list_nth_tag_name (const GstTagList * list, guint index);
GST_EXPORT
gboolean gst_tag_list_is_empty (const GstTagList * list);
GST_EXPORT
gboolean gst_tag_list_is_equal (const GstTagList * list1,
const GstTagList * list2);
GST_EXPORT
void gst_tag_list_insert (GstTagList * into,
const GstTagList * from,
GstTagMergeMode mode);
GST_EXPORT
GstTagList * gst_tag_list_merge (const GstTagList * list1,
const GstTagList * list2,
GstTagMergeMode mode) G_GNUC_MALLOC;
GST_EXPORT
guint gst_tag_list_get_tag_size (const GstTagList * list,
const gchar * tag);
GST_EXPORT
void gst_tag_list_add (GstTagList * list,
GstTagMergeMode mode,
const gchar * tag,
...) G_GNUC_NULL_TERMINATED;
GST_EXPORT
void gst_tag_list_add_values (GstTagList * list,
GstTagMergeMode mode,
const gchar * tag,
...) G_GNUC_NULL_TERMINATED;
GST_EXPORT
void gst_tag_list_add_valist (GstTagList * list,
GstTagMergeMode mode,
const gchar * tag,
va_list var_args);
GST_EXPORT
void gst_tag_list_add_valist_values (GstTagList * list,
GstTagMergeMode mode,
const gchar * tag,
va_list var_args);
GST_EXPORT
void gst_tag_list_add_value (GstTagList * list,
GstTagMergeMode mode,
const gchar * tag,
const GValue * value);
GST_EXPORT
void gst_tag_list_remove_tag (GstTagList * list,
const gchar * tag);
GST_EXPORT
void gst_tag_list_foreach (const GstTagList * list,
GstTagForeachFunc func,
gpointer user_data);
GST_EXPORT
const GValue *
gst_tag_list_get_value_index (const GstTagList * list,
const gchar * tag,
guint index);
GST_EXPORT
gboolean gst_tag_list_copy_value (GValue * dest,
const GstTagList * list,
const gchar * tag);
/* simplifications (FIXME: do we want them?) */
GST_EXPORT
gboolean gst_tag_list_get_boolean (const GstTagList * list,
const gchar * tag,
gboolean * value);
GST_EXPORT
gboolean gst_tag_list_get_boolean_index (const GstTagList * list,
const gchar * tag,
guint index,
gboolean * value);
GST_EXPORT
gboolean gst_tag_list_get_int (const GstTagList * list,
const gchar * tag,
gint * value);
GST_EXPORT
gboolean gst_tag_list_get_int_index (const GstTagList * list,
const gchar * tag,
guint index,
gint * value);
GST_EXPORT
gboolean gst_tag_list_get_uint (const GstTagList * list,
const gchar * tag,
guint * value);
GST_EXPORT
gboolean gst_tag_list_get_uint_index (const GstTagList * list,
const gchar * tag,
guint index,
guint * value);
GST_EXPORT
gboolean gst_tag_list_get_int64 (const GstTagList * list,
const gchar * tag,
gint64 * value);
GST_EXPORT
gboolean gst_tag_list_get_int64_index (const GstTagList * list,
const gchar * tag,
guint index,
gint64 * value);
GST_EXPORT
gboolean gst_tag_list_get_uint64 (const GstTagList * list,
const gchar * tag,
guint64 * value);
GST_EXPORT
gboolean gst_tag_list_get_uint64_index (const GstTagList * list,
const gchar * tag,
guint index,
guint64 * value);
GST_EXPORT
gboolean gst_tag_list_get_float (const GstTagList * list,
const gchar * tag,
gfloat * value);
GST_EXPORT
gboolean gst_tag_list_get_float_index (const GstTagList * list,
const gchar * tag,
guint index,
gfloat * value);
GST_EXPORT
gboolean gst_tag_list_get_double (const GstTagList * list,
const gchar * tag,
gdouble * value);
GST_EXPORT
gboolean gst_tag_list_get_double_index (const GstTagList * list,
const gchar * tag,
guint index,
gdouble * value);
GST_EXPORT
gboolean gst_tag_list_get_string (const GstTagList * list,
const gchar * tag,
gchar ** value);
GST_EXPORT
gboolean gst_tag_list_get_string_index (const GstTagList * list,
const gchar * tag,
guint index,
gchar ** value);
GST_EXPORT
gboolean gst_tag_list_peek_string_index (const GstTagList * list,
const gchar * tag,
guint index,
const gchar ** value);
GST_EXPORT
gboolean gst_tag_list_get_pointer (const GstTagList * list,
const gchar * tag,
gpointer * value);
GST_EXPORT
gboolean gst_tag_list_get_pointer_index (const GstTagList * list,
const gchar * tag,
guint index,
gpointer * value);
GST_EXPORT
gboolean gst_tag_list_get_date (const GstTagList * list,
const gchar * tag,
GDate ** value);
GST_EXPORT
gboolean gst_tag_list_get_date_index (const GstTagList * list,
const gchar * tag,
guint index,
GDate ** value);
GST_EXPORT
gboolean gst_tag_list_get_date_time (const GstTagList * list,
const gchar * tag,
GstDateTime ** value);
GST_EXPORT
gboolean gst_tag_list_get_date_time_index (const GstTagList * list,
const gchar * tag,
guint index,
GstDateTime ** value);
GST_EXPORT
gboolean gst_tag_list_get_sample (const GstTagList * list,
const gchar * tag,
GstSample ** sample);
GST_EXPORT
gboolean gst_tag_list_get_sample_index (const GstTagList * list,
const gchar * tag,
guint index,

View file

@ -56,43 +56,49 @@ struct _GstTagSetterInterface
/* virtual table */
};
GST_EXPORT
GType gst_tag_setter_get_type (void);
GST_EXPORT
void gst_tag_setter_reset_tags (GstTagSetter * setter);
GST_EXPORT
void gst_tag_setter_merge_tags (GstTagSetter * setter,
const GstTagList * list,
GstTagMergeMode mode);
GST_EXPORT
void gst_tag_setter_add_tags (GstTagSetter * setter,
GstTagMergeMode mode,
const gchar * tag,
...) G_GNUC_NULL_TERMINATED;
GST_EXPORT
void gst_tag_setter_add_tag_values (GstTagSetter * setter,
GstTagMergeMode mode,
const gchar * tag,
...) G_GNUC_NULL_TERMINATED;
GST_EXPORT
void gst_tag_setter_add_tag_valist (GstTagSetter * setter,
GstTagMergeMode mode,
const gchar * tag,
va_list var_args);
GST_EXPORT
void gst_tag_setter_add_tag_valist_values(GstTagSetter * setter,
GstTagMergeMode mode,
const gchar * tag,
va_list var_args);
GST_EXPORT
void gst_tag_setter_add_tag_value (GstTagSetter * setter,
GstTagMergeMode mode,
const gchar * tag,
const GValue * value);
GST_EXPORT
const GstTagList *
gst_tag_setter_get_tag_list (GstTagSetter * setter);
GST_EXPORT
void gst_tag_setter_set_tag_merge_mode (GstTagSetter * setter,
GstTagMergeMode mode);
GST_EXPORT
GstTagMergeMode gst_tag_setter_get_tag_merge_mode (GstTagSetter * setter);
G_END_DECLS

View file

@ -164,34 +164,50 @@ struct _GstTaskClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
void gst_task_cleanup_all (void);
GST_EXPORT
GType gst_task_get_type (void);
GST_EXPORT
GstTask* gst_task_new (GstTaskFunction func,
gpointer user_data, GDestroyNotify notify);
GST_EXPORT
void gst_task_set_lock (GstTask *task, GRecMutex *mutex);
GST_EXPORT
GstTaskPool * gst_task_get_pool (GstTask *task);
GST_EXPORT
void gst_task_set_pool (GstTask *task, GstTaskPool *pool);
GST_EXPORT
void gst_task_set_enter_callback (GstTask *task,
GstTaskThreadFunc enter_func,
gpointer user_data,
GDestroyNotify notify);
GST_EXPORT
void gst_task_set_leave_callback (GstTask *task,
GstTaskThreadFunc leave_func,
gpointer user_data,
GDestroyNotify notify);
GST_EXPORT
GstTaskState gst_task_get_state (GstTask *task);
GST_EXPORT
gboolean gst_task_set_state (GstTask *task, GstTaskState state);
GST_EXPORT
gboolean gst_task_start (GstTask *task);
GST_EXPORT
gboolean gst_task_stop (GstTask *task);
GST_EXPORT
gboolean gst_task_pause (GstTask *task);
GST_EXPORT
gboolean gst_task_join (GstTask *task);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -85,15 +85,22 @@ struct _GstTaskPoolClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_task_pool_get_type (void);
GST_EXPORT
GstTaskPool * gst_task_pool_new (void);
GST_EXPORT
void gst_task_pool_prepare (GstTaskPool *pool, GError **error);
GST_EXPORT
gpointer gst_task_pool_push (GstTaskPool *pool, GstTaskPoolFunction func,
gpointer user_data, GError **error);
GST_EXPORT
void gst_task_pool_join (GstTaskPool *pool, gpointer id);
GST_EXPORT
void gst_task_pool_cleanup (GstTaskPool *pool);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -31,6 +31,7 @@
G_BEGIN_DECLS
GST_EXPORT GType _gst_toc_type;
GST_EXPORT GType _gst_toc_entry_type;
#define GST_TYPE_TOC (_gst_toc_type)
@ -127,21 +128,37 @@ typedef enum {
#define GST_TOC_REPEAT_COUNT_INFINITE (-1)
/* functions to return type structures */
GST_EXPORT
GType gst_toc_get_type (void);
GST_EXPORT
GType gst_toc_entry_get_type (void);
/* functions to create, ref and unref/free TOCs */
GST_EXPORT
GstToc * gst_toc_new (GstTocScope scope);
GST_EXPORT
GstTocScope gst_toc_get_scope (const GstToc *toc);
GST_EXPORT
void gst_toc_set_tags (GstToc *toc, GstTagList * tags);
GST_EXPORT
void gst_toc_merge_tags (GstToc *toc, GstTagList *tags, GstTagMergeMode mode);
GST_EXPORT
GstTagList * gst_toc_get_tags (const GstToc *toc);
GST_EXPORT
void gst_toc_append_entry (GstToc *toc, GstTocEntry *entry);
GST_EXPORT
GList * gst_toc_get_entries (const GstToc *toc);
GST_EXPORT
void gst_toc_dump (GstToc *toc);
#define gst_toc_ref(toc) (GstToc*)gst_mini_object_ref(GST_MINI_OBJECT_CAST(toc))
@ -150,6 +167,8 @@ void gst_toc_dump (GstToc *toc);
#define gst_toc_make_writable(toc) (GstToc*)gst_mini_object_make_writable(GST_MINI_OBJECT_CAST(toc))
/* functions to create, ref and unref/free TOC entries */
GST_EXPORT
GstTocEntry * gst_toc_entry_new (GstTocEntryType type, const gchar *uid);
#define gst_toc_entry_ref(entry) (GstTocEntry*)gst_mini_object_ref(GST_MINI_OBJECT_CAST(entry))
@ -157,31 +176,56 @@ GstTocEntry * gst_toc_entry_new (GstTocEntryType type, const gch
#define gst_toc_entry_copy(entry) (GstTocEntry*)gst_mini_object_copy(GST_MINI_OBJECT_CAST(entry))
#define gst_toc_entry_make_writable(entry) (GstTocEntry*)gst_mini_object_make_writable(GST_MINI_OBJECT_CAST(entry))
GST_EXPORT
GstTocEntry * gst_toc_find_entry (const GstToc *toc, const gchar *uid);
GST_EXPORT
GstTocEntryType gst_toc_entry_get_entry_type (const GstTocEntry *entry);
GST_EXPORT
const gchar * gst_toc_entry_get_uid (const GstTocEntry *entry);
GST_EXPORT
void gst_toc_entry_append_sub_entry (GstTocEntry *entry, GstTocEntry *subentry);
GST_EXPORT
GList * gst_toc_entry_get_sub_entries (const GstTocEntry *entry);
GST_EXPORT
void gst_toc_entry_set_tags (GstTocEntry *entry, GstTagList *tags);
GST_EXPORT
void gst_toc_entry_merge_tags (GstTocEntry *entry, GstTagList *tags, GstTagMergeMode mode);
GST_EXPORT
GstTagList * gst_toc_entry_get_tags (const GstTocEntry *entry);
GST_EXPORT
gboolean gst_toc_entry_is_alternative (const GstTocEntry *entry);
GST_EXPORT
gboolean gst_toc_entry_is_sequence (const GstTocEntry *entry);
GST_EXPORT
void gst_toc_entry_set_start_stop_times (GstTocEntry *entry, gint64 start, gint64 stop);
GST_EXPORT
gboolean gst_toc_entry_get_start_stop_times (const GstTocEntry *entry, gint64 *start, gint64 *stop);
GST_EXPORT
void gst_toc_entry_set_loop (GstTocEntry *entry, GstTocLoopType loop_type, gint repeat_count);
GST_EXPORT
gboolean gst_toc_entry_get_loop (const GstTocEntry *entry, GstTocLoopType *loop_type, gint *repeat_count);
GST_EXPORT
GstToc * gst_toc_entry_get_toc (GstTocEntry *entry);
GST_EXPORT
GstTocEntry * gst_toc_entry_get_parent (GstTocEntry *entry);
GST_EXPORT
const gchar * gst_toc_entry_type_get_nick (GstTocEntryType type);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -54,12 +54,16 @@ struct _GstTocSetterInterface
/* virtual table */
};
GST_EXPORT
GType gst_toc_setter_get_type (void);
GST_EXPORT
void gst_toc_setter_reset (GstTocSetter *setter);
GST_EXPORT
GstToc * gst_toc_setter_get_toc (GstTocSetter *setter);
GST_EXPORT
void gst_toc_setter_set_toc (GstTocSetter *setter, GstToc *toc);
G_END_DECLS

View file

@ -55,14 +55,18 @@ struct _GstTracerClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_tracer_get_type (void);
#ifdef GST_USE_UNSTABLE_API
GST_EXPORT
void gst_tracing_register_hook (GstTracer *tracer, const gchar *detail,
GCallback func);
/* tracing modules */
GST_EXPORT
gboolean gst_tracer_register (GstPlugin * plugin, const gchar * name, GType type);
#endif

View file

@ -48,7 +48,10 @@ typedef struct _GstTracerFactoryClass GstTracerFactoryClass;
/* tracering interface */
GST_EXPORT
GType gst_tracer_factory_get_type (void);
GST_EXPORT
GList * gst_tracer_factory_get_list (void);

View file

@ -37,6 +37,7 @@ typedef struct _GstTracerRecordClass GstTracerRecordClass;
#define GST_TRACER_RECORD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj),GST_TYPE_TRACER_RECORD,GstTracerRecordClass))
#define GST_TRACER_RECORD_CAST(obj) ((GstTracerRecord *)(obj))
GST_EXPORT
GType gst_tracer_record_get_type (void);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
@ -87,9 +88,11 @@ typedef enum
#ifdef GST_USE_UNSTABLE_API
GST_EXPORT
GstTracerRecord * gst_tracer_record_new (const gchar * name, const gchar * firstfield, ...);
#ifndef GST_DISABLE_GST_DEBUG
GST_EXPORT
void gst_tracer_record_log (GstTracerRecord *self, ...);
#else
#define gst_tracer_record_log(...) G_STMT_START {} G_STMT_END

View file

@ -91,25 +91,30 @@ struct _GstTypeFind {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_type_find_get_type (void);
/* typefind function interface */
GST_EXPORT
const guint8 * gst_type_find_peek (GstTypeFind * find,
gint64 offset,
guint size);
GST_EXPORT
void gst_type_find_suggest (GstTypeFind * find,
guint probability,
GstCaps * caps);
GST_EXPORT
void gst_type_find_suggest_simple (GstTypeFind * find,
guint probability,
const char * media_type,
const char * fieldname, ...);
GST_EXPORT
guint64 gst_type_find_get_length (GstTypeFind * find);
/* registration interface */
GST_EXPORT
gboolean gst_type_find_register (GstPlugin * plugin,
const gchar * name,
guint rank,

View file

@ -46,14 +46,22 @@ typedef struct _GstTypeFindFactoryClass GstTypeFindFactoryClass;
/* typefinding interface */
GST_EXPORT
GType gst_type_find_factory_get_type (void);
GST_EXPORT
GList * gst_type_find_factory_get_list (void);
GST_EXPORT
const gchar * const * gst_type_find_factory_get_extensions (GstTypeFindFactory *factory);
GST_EXPORT
GstCaps * gst_type_find_factory_get_caps (GstTypeFindFactory *factory);
GST_EXPORT
gboolean gst_type_find_factory_has_function (GstTypeFindFactory *factory);
GST_EXPORT
void gst_type_find_factory_call_function (GstTypeFindFactory *factory,
GstTypeFind *find);

View file

@ -31,6 +31,7 @@
G_BEGIN_DECLS
GST_EXPORT
GQuark gst_uri_error_quark (void);
/**
@ -128,31 +129,51 @@ struct _GstURIHandlerInterface {
/* general URI functions */
GST_EXPORT
gboolean gst_uri_protocol_is_valid (const gchar * protocol);
GST_EXPORT
gboolean gst_uri_protocol_is_supported (const GstURIType type,
const gchar *protocol);
GST_EXPORT
gboolean gst_uri_is_valid (const gchar * uri);
GST_EXPORT
gchar * gst_uri_get_protocol (const gchar * uri) G_GNUC_MALLOC;
GST_EXPORT
gboolean gst_uri_has_protocol (const gchar * uri,
const gchar * protocol);
GST_EXPORT
gchar * gst_uri_get_location (const gchar * uri) G_GNUC_MALLOC;
GST_EXPORT
gchar * gst_uri_construct (const gchar * protocol,
const gchar * location) G_GNUC_MALLOC;
GST_EXPORT
gchar * gst_filename_to_uri (const gchar * filename,
GError ** error) G_GNUC_MALLOC;
GST_EXPORT
GstElement * gst_element_make_from_uri (const GstURIType type,
const gchar * uri,
const gchar * elementname,
GError ** error) G_GNUC_MALLOC;
/* accessing the interface */
GST_EXPORT
GType gst_uri_handler_get_type (void);
GST_EXPORT
GstURIType gst_uri_handler_get_uri_type (GstURIHandler * handler);
GST_EXPORT
const gchar * const * gst_uri_handler_get_protocols (GstURIHandler * handler);
GST_EXPORT
gchar * gst_uri_handler_get_uri (GstURIHandler * handler) G_GNUC_MALLOC;
GST_EXPORT
gboolean gst_uri_handler_set_uri (GstURIHandler * handler,
const gchar * uri,
GError ** error);
@ -182,12 +203,15 @@ typedef struct _GstUri GstUri;
#define GST_URI_NO_PORT 0
/* used by GST_TYPE_URI */
GST_EXPORT
GType gst_uri_get_type (void);
/*
* Method definitions.
*/
GST_EXPORT
GstUri * gst_uri_new (const gchar * scheme,
const gchar * userinfo,
const gchar * host,
@ -195,6 +219,7 @@ GstUri * gst_uri_new (const gchar * scheme,
const gchar * path,
const gchar * query,
const gchar * fragment) G_GNUC_MALLOC;
GST_EXPORT
GstUri * gst_uri_new_with_base (GstUri * base,
const gchar * scheme,
const gchar * userinfo,
@ -203,53 +228,120 @@ GstUri * gst_uri_new_with_base (GstUri * base,
const gchar * path,
const gchar * query,
const gchar * fragment) G_GNUC_MALLOC;
GST_EXPORT
GstUri * gst_uri_from_string (const gchar * uri) G_GNUC_MALLOC;
GST_EXPORT
GstUri * gst_uri_from_string_with_base (GstUri * base,
const gchar * uri) G_GNUC_MALLOC;
GST_EXPORT
gboolean gst_uri_equal (const GstUri * first,
const GstUri * second);
GST_EXPORT
GstUri * gst_uri_join (GstUri * base_uri,
GstUri * ref_uri) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
gchar * gst_uri_join_strings (const gchar * base_uri,
const gchar * ref_uri) G_GNUC_MALLOC;
GST_EXPORT
gboolean gst_uri_is_writable (const GstUri * uri);
GST_EXPORT
GstUri * gst_uri_make_writable (GstUri * uri) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
gchar * gst_uri_to_string (const GstUri * uri) G_GNUC_MALLOC;
GST_EXPORT
gboolean gst_uri_is_normalized (const GstUri * uri);
GST_EXPORT
gboolean gst_uri_normalize (GstUri * uri);
GST_EXPORT
const gchar * gst_uri_get_scheme (const GstUri * uri);
GST_EXPORT
gboolean gst_uri_set_scheme (GstUri * uri, const gchar * scheme);
GST_EXPORT
const gchar * gst_uri_get_userinfo (const GstUri * uri);
GST_EXPORT
gboolean gst_uri_set_userinfo (GstUri * uri, const gchar * userinfo);
GST_EXPORT
const gchar * gst_uri_get_host (const GstUri * uri);
GST_EXPORT
gboolean gst_uri_set_host (GstUri * uri, const gchar * host);
GST_EXPORT
guint gst_uri_get_port (const GstUri * uri);
GST_EXPORT
gboolean gst_uri_set_port (GstUri * uri, guint port);
GST_EXPORT
gchar * gst_uri_get_path (const GstUri * uri);
GST_EXPORT
gboolean gst_uri_set_path (GstUri * uri, const gchar * path);
GST_EXPORT
gchar * gst_uri_get_path_string (const GstUri * uri);
GST_EXPORT
gboolean gst_uri_set_path_string (GstUri * uri, const gchar * path);
GST_EXPORT
GList * gst_uri_get_path_segments (const GstUri * uri);
GST_EXPORT
gboolean gst_uri_set_path_segments (GstUri * uri, GList * path_segments);
GST_EXPORT
gboolean gst_uri_append_path (GstUri * uri,
const gchar * relative_path);
GST_EXPORT
gboolean gst_uri_append_path_segment (GstUri * uri,
const gchar * path_segment);
GST_EXPORT
gchar * gst_uri_get_query_string (const GstUri * uri);
GST_EXPORT
gboolean gst_uri_set_query_string (GstUri * uri, const gchar * query);
GST_EXPORT
GHashTable * gst_uri_get_query_table (const GstUri * uri);
GST_EXPORT
gboolean gst_uri_set_query_table (GstUri * uri,
GHashTable * query_table);
GST_EXPORT
gboolean gst_uri_set_query_value (GstUri * uri, const gchar * query_key,
const gchar * query_value);
GST_EXPORT
gboolean gst_uri_remove_query_key (GstUri * uri, const gchar * query_key);
GST_EXPORT
gboolean gst_uri_query_has_key (const GstUri * uri,
const gchar * query_key);
GST_EXPORT
const gchar * gst_uri_get_query_value (const GstUri * uri,
const gchar * query_key);
GST_EXPORT
GList * gst_uri_get_query_keys (const GstUri * uri);
GST_EXPORT
const gchar * gst_uri_get_fragment (const GstUri * uri);
GST_EXPORT
gboolean gst_uri_set_fragment (GstUri * uri, const gchar * fragment);
GST_EXPORT
GHashTable * gst_uri_get_media_fragment_table (const GstUri * uri);
/**

View file

@ -32,15 +32,25 @@
G_BEGIN_DECLS
GST_EXPORT
void gst_util_set_value_from_string (GValue *value, const gchar *value_str);
GST_EXPORT
void gst_util_set_object_arg (GObject *object, const gchar *name, const gchar *value);
GST_EXPORT
gboolean gst_util_set_object_array (GObject * object, const gchar * name,
const GValueArray * array);
GST_EXPORT
gboolean gst_util_get_object_array (GObject * object, const gchar * name,
GValueArray ** array);
GST_EXPORT
void gst_util_dump_mem (const guchar *mem, guint size);
GST_EXPORT
guint64 gst_util_gdouble_to_guint64 (gdouble value) G_GNUC_CONST;
GST_EXPORT
gdouble gst_util_guint64_to_gdouble (guint64 value) G_GNUC_CONST;
/**
@ -68,17 +78,31 @@ gdouble gst_util_guint64_to_gdouble (guint64 value) G_GNUC_CONST;
#define gst_guint64_to_gdouble(value) ((gdouble) (value))
#endif
GST_EXPORT
guint64 gst_util_uint64_scale (guint64 val, guint64 num, guint64 denom);
GST_EXPORT
guint64 gst_util_uint64_scale_round (guint64 val, guint64 num, guint64 denom);
GST_EXPORT
guint64 gst_util_uint64_scale_ceil (guint64 val, guint64 num, guint64 denom);
GST_EXPORT
guint64 gst_util_uint64_scale_int (guint64 val, gint num, gint denom);
GST_EXPORT
guint64 gst_util_uint64_scale_int_round (guint64 val, gint num, gint denom);
GST_EXPORT
guint64 gst_util_uint64_scale_int_ceil (guint64 val, gint num, gint denom);
GST_EXPORT
guint32 gst_util_seqnum_next (void);
GST_EXPORT
gint32 gst_util_seqnum_compare (guint32 s1, guint32 s2);
GST_EXPORT
guint gst_util_group_id_next (void);
/**
@ -919,112 +943,185 @@ GST_WRITE_DOUBLE_BE(guint8 *data, gdouble num)
#define GST_ROUND_DOWN_N(num,align) (((num) & ~((align) - 1)))
GST_EXPORT
void gst_object_default_error (GstObject * source,
const GError * error,
const gchar * debug);
/* element functions */
GST_EXPORT
void gst_element_create_all_pads (GstElement *element);
GST_EXPORT
GstPad* gst_element_get_compatible_pad (GstElement *element, GstPad *pad,
GstCaps *caps);
GST_EXPORT
GstPadTemplate* gst_element_get_compatible_pad_template (GstElement *element, GstPadTemplate *compattempl);
GST_EXPORT
const gchar* gst_element_state_get_name (GstState state);
GST_EXPORT
const gchar * gst_element_state_change_return_get_name (GstStateChangeReturn state_ret);
GST_EXPORT
gboolean gst_element_link (GstElement *src, GstElement *dest);
GST_EXPORT
gboolean gst_element_link_many (GstElement *element_1,
GstElement *element_2, ...) G_GNUC_NULL_TERMINATED;
GST_EXPORT
gboolean gst_element_link_filtered (GstElement * src,
GstElement * dest,
GstCaps *filter);
GST_EXPORT
void gst_element_unlink (GstElement *src, GstElement *dest);
GST_EXPORT
void gst_element_unlink_many (GstElement *element_1,
GstElement *element_2, ...) G_GNUC_NULL_TERMINATED;
GST_EXPORT
gboolean gst_element_link_pads (GstElement *src, const gchar *srcpadname,
GstElement *dest, const gchar *destpadname);
GST_EXPORT
gboolean gst_element_link_pads_full (GstElement *src, const gchar *srcpadname,
GstElement *dest, const gchar *destpadname,
GstPadLinkCheck flags);
GST_EXPORT
void gst_element_unlink_pads (GstElement *src, const gchar *srcpadname,
GstElement *dest, const gchar *destpadname);
GST_EXPORT
gboolean gst_element_link_pads_filtered (GstElement * src, const gchar * srcpadname,
GstElement * dest, const gchar * destpadname,
GstCaps *filter);
GST_EXPORT
gboolean gst_element_seek_simple (GstElement *element,
GstFormat format,
GstSeekFlags seek_flags,
gint64 seek_pos);
/* util elementfactory functions */
GST_EXPORT
gboolean gst_element_factory_can_sink_all_caps (GstElementFactory *factory, const GstCaps *caps);
GST_EXPORT
gboolean gst_element_factory_can_src_all_caps (GstElementFactory *factory, const GstCaps *caps);
GST_EXPORT
gboolean gst_element_factory_can_sink_any_caps (GstElementFactory *factory, const GstCaps *caps);
GST_EXPORT
gboolean gst_element_factory_can_src_any_caps (GstElementFactory *factory, const GstCaps *caps);
/* util query functions */
GST_EXPORT
gboolean gst_element_query_position (GstElement *element, GstFormat format, gint64 *cur);
GST_EXPORT
gboolean gst_element_query_duration (GstElement *element, GstFormat format, gint64 *duration);
GST_EXPORT
gboolean gst_element_query_convert (GstElement *element, GstFormat src_format, gint64 src_val,
GstFormat dest_format, gint64 *dest_val);
/* pad functions */
GST_EXPORT
void gst_pad_use_fixed_caps (GstPad *pad);
GST_EXPORT
GstElement* gst_pad_get_parent_element (GstPad *pad);
/* util query functions */
GST_EXPORT
gboolean gst_pad_proxy_query_accept_caps (GstPad *pad, GstQuery *query);
GST_EXPORT
gboolean gst_pad_proxy_query_caps (GstPad *pad, GstQuery *query);
GST_EXPORT
gboolean gst_pad_query_position (GstPad *pad, GstFormat format, gint64 *cur);
GST_EXPORT
gboolean gst_pad_query_duration (GstPad *pad, GstFormat format, gint64 *duration);
GST_EXPORT
gboolean gst_pad_query_convert (GstPad *pad, GstFormat src_format, gint64 src_val,
GstFormat dest_format, gint64 *dest_val);
GST_EXPORT
GstCaps * gst_pad_query_caps (GstPad *pad, GstCaps *filter);
GST_EXPORT
gboolean gst_pad_query_accept_caps (GstPad *pad, GstCaps *caps);
GST_EXPORT
gboolean gst_pad_link_maybe_ghosting (GstPad *src,
GstPad *sink);
GST_EXPORT
gboolean gst_pad_link_maybe_ghosting_full (GstPad *src,
GstPad *sink,
GstPadLinkCheck flags);
GST_EXPORT
gboolean gst_pad_peer_query_position (GstPad *pad, GstFormat format, gint64 *cur);
GST_EXPORT
gboolean gst_pad_peer_query_duration (GstPad *pad, GstFormat format, gint64 *duration);
GST_EXPORT
gboolean gst_pad_peer_query_convert (GstPad *pad, GstFormat src_format, gint64 src_val,
GstFormat dest_format, gint64 *dest_val);
GST_EXPORT
GstCaps * gst_pad_peer_query_caps (GstPad * pad, GstCaps *filter);
GST_EXPORT
gboolean gst_pad_peer_query_accept_caps (GstPad * pad, GstCaps *caps);
GST_EXPORT
gchar * gst_pad_create_stream_id (GstPad * pad, GstElement * parent, const gchar *stream_id) G_GNUC_MALLOC;
GST_EXPORT
gchar * gst_pad_create_stream_id_printf (GstPad * pad, GstElement * parent, const gchar *stream_id, ...) G_GNUC_PRINTF (3, 4) G_GNUC_MALLOC;
GST_EXPORT
gchar * gst_pad_create_stream_id_printf_valist (GstPad * pad, GstElement * parent, const gchar *stream_id, va_list var_args) G_GNUC_PRINTF (3, 0) G_GNUC_MALLOC;
GST_EXPORT
gchar * gst_pad_get_stream_id (GstPad * pad);
GST_EXPORT
GstStream * gst_pad_get_stream (GstPad * pad);
/* bin functions */
GST_EXPORT
void gst_bin_add_many (GstBin *bin, GstElement *element_1, ...) G_GNUC_NULL_TERMINATED;
GST_EXPORT
void gst_bin_remove_many (GstBin *bin, GstElement *element_1, ...) G_GNUC_NULL_TERMINATED;
GST_EXPORT
GstPad * gst_bin_find_unlinked_pad (GstBin *bin, GstPadDirection direction);
GST_EXPORT
gboolean gst_bin_sync_children_states (GstBin *bin);
/* parse utility functions */
GST_EXPORT
GstElement * gst_parse_bin_from_description (const gchar * bin_description,
gboolean ghost_unlinked_pads,
GError ** err);
GST_EXPORT
GstElement * gst_parse_bin_from_description_full (const gchar * bin_description,
gboolean ghost_unlinked_pads,
GstParseContext * context,
GstParseFlags flags,
GError ** err);
GST_EXPORT
GstClockTime gst_util_get_timestamp (void);
/**
@ -1041,24 +1138,36 @@ typedef enum {
GST_SEARCH_MODE_AFTER
} GstSearchMode;
GST_EXPORT
gpointer gst_util_array_binary_search (gpointer array, guint num_elements,
gsize element_size, GCompareDataFunc search_func,
GstSearchMode mode, gconstpointer search_data,
gpointer user_data);
/* fraction operations */
GST_EXPORT
gint gst_util_greatest_common_divisor (gint a, gint b);
GST_EXPORT
gint64 gst_util_greatest_common_divisor_int64 (gint64 a, gint64 b);
GST_EXPORT
void gst_util_fraction_to_double (gint src_n, gint src_d, gdouble *dest);
GST_EXPORT
void gst_util_double_to_fraction (gdouble src, gint *dest_n, gint *dest_d);
GST_EXPORT
gboolean gst_util_fraction_multiply (gint a_n, gint a_d, gint b_n, gint b_d,
gint *res_n, gint *res_d);
GST_EXPORT
gboolean gst_util_fraction_add (gint a_n, gint a_d, gint b_n, gint b_d,
gint *res_n, gint *res_d);
GST_EXPORT
gint gst_util_fraction_compare (gint a_n, gint a_d, gint b_n, gint b_d);
GST_EXPORT
gboolean gst_calculate_linear_regression (const GstClockTime * xy,
GstClockTime * temp, guint n,
GstClockTime * m_num, GstClockTime * m_denom,

View file

@ -435,174 +435,289 @@ struct _GstValueTable {
gpointer _gst_reserved [GST_PADDING];
};
GST_EXPORT
GType gst_int_range_get_type (void);
GST_EXPORT
GType gst_int64_range_get_type (void);
GST_EXPORT
GType gst_double_range_get_type (void);
GST_EXPORT
GType gst_fraction_range_get_type (void);
GST_EXPORT
GType gst_fraction_get_type (void);
GST_EXPORT
GType gst_value_list_get_type (void);
GST_EXPORT
GType gst_value_array_get_type (void);
GST_EXPORT
GType gst_bitmask_get_type (void);
GST_EXPORT
GType gst_flagset_get_type (void);
/* Hide this compatibility type from introspection */
#ifndef __GI_SCANNER__
GST_EXPORT
GType gst_g_thread_get_type (void);
#endif
GST_EXPORT
void gst_value_register (const GstValueTable *table);
GST_EXPORT
void gst_value_init_and_copy (GValue *dest,
const GValue *src);
GST_EXPORT
gchar * gst_value_serialize (const GValue *value) G_GNUC_MALLOC;
GST_EXPORT
gboolean gst_value_deserialize (GValue *dest,
const gchar *src);
/* list */
GST_EXPORT
void gst_value_list_append_value (GValue *value,
const GValue *append_value);
GST_EXPORT
void gst_value_list_append_and_take_value (GValue *value,
GValue *append_value);
GST_EXPORT
void gst_value_list_prepend_value (GValue *value,
const GValue *prepend_value);
GST_EXPORT
void gst_value_list_concat (GValue *dest,
const GValue *value1,
const GValue *value2);
GST_EXPORT
void gst_value_list_merge (GValue *dest,
const GValue *value1,
const GValue *value2);
GST_EXPORT
guint gst_value_list_get_size (const GValue *value);
GST_EXPORT
const GValue * gst_value_list_get_value (const GValue *value,
guint index);
/* array */
GST_EXPORT
void gst_value_array_append_value (GValue *value,
const GValue *append_value);
GST_EXPORT
void gst_value_array_append_and_take_value (GValue *value,
GValue *append_value);
GST_EXPORT
void gst_value_array_prepend_value (GValue *value,
const GValue *prepend_value);
GST_EXPORT
guint gst_value_array_get_size (const GValue *value);
GST_EXPORT
const GValue * gst_value_array_get_value (const GValue *value,
guint index);
/* int range */
GST_EXPORT
void gst_value_set_int_range (GValue *value,
gint start,
gint end);
GST_EXPORT
void gst_value_set_int_range_step (GValue *value,
gint start,
gint end,
gint step);
GST_EXPORT
gint gst_value_get_int_range_min (const GValue *value);
GST_EXPORT
gint gst_value_get_int_range_max (const GValue *value);
GST_EXPORT
gint gst_value_get_int_range_step (const GValue *value);
/* int64 range */
GST_EXPORT
void gst_value_set_int64_range (GValue *value,
gint64 start,
gint64 end);
GST_EXPORT
void gst_value_set_int64_range_step (GValue *value,
gint64 start,
gint64 end,
gint64 step);
GST_EXPORT
gint64 gst_value_get_int64_range_min (const GValue *value);
GST_EXPORT
gint64 gst_value_get_int64_range_max (const GValue *value);
GST_EXPORT
gint64 gst_value_get_int64_range_step (const GValue *value);
/* double range */
GST_EXPORT
void gst_value_set_double_range (GValue *value,
gdouble start,
gdouble end);
GST_EXPORT
gdouble gst_value_get_double_range_min (const GValue *value);
GST_EXPORT
gdouble gst_value_get_double_range_max (const GValue *value);
/* caps */
GST_EXPORT
const GstCaps * gst_value_get_caps (const GValue *value);
GST_EXPORT
void gst_value_set_caps (GValue *value,
const GstCaps *caps);
/* structure */
GST_EXPORT
const GstStructure *
gst_value_get_structure (const GValue *value);
GST_EXPORT
void gst_value_set_structure (GValue *value,
const GstStructure *structure);
/* caps features */
GST_EXPORT
const GstCapsFeatures *
gst_value_get_caps_features (const GValue *value);
GST_EXPORT
void gst_value_set_caps_features (GValue *value,
const GstCapsFeatures *features);
/* fraction */
GST_EXPORT
void gst_value_set_fraction (GValue *value,
gint numerator,
gint denominator);
GST_EXPORT
gint gst_value_get_fraction_numerator (const GValue *value);
GST_EXPORT
gint gst_value_get_fraction_denominator (const GValue *value);
GST_EXPORT
gboolean gst_value_fraction_multiply (GValue *product,
const GValue *factor1,
const GValue *factor2);
GST_EXPORT
gboolean gst_value_fraction_subtract (GValue * dest,
const GValue * minuend,
const GValue * subtrahend);
/* fraction range */
GST_EXPORT
void gst_value_set_fraction_range (GValue *value,
const GValue *start,
const GValue *end);
GST_EXPORT
void gst_value_set_fraction_range_full (GValue *value,
gint numerator_start,
gint denominator_start,
gint numerator_end,
gint denominator_end);
GST_EXPORT
const GValue *gst_value_get_fraction_range_min (const GValue *value);
GST_EXPORT
const GValue *gst_value_get_fraction_range_max (const GValue *value);
/* bitmask */
GST_EXPORT
guint64 gst_value_get_bitmask (const GValue *value);
GST_EXPORT
void gst_value_set_bitmask (GValue *value,
guint64 bitmask);
/* flagset */
GST_EXPORT
void gst_value_set_flagset (GValue * value, guint flags, guint mask);
GST_EXPORT
guint gst_value_get_flagset_flags (const GValue * value);
GST_EXPORT
guint gst_value_get_flagset_mask (const GValue * value);
/* compare */
GST_EXPORT
gint gst_value_compare (const GValue *value1,
const GValue *value2);
GST_EXPORT
gboolean gst_value_can_compare (const GValue *value1,
const GValue *value2);
GST_EXPORT
gboolean gst_value_is_subset (const GValue *value1,
const GValue *value2);
/* union */
GST_EXPORT
gboolean gst_value_union (GValue *dest,
const GValue *value1,
const GValue *value2);
GST_EXPORT
gboolean gst_value_can_union (const GValue *value1,
const GValue *value2);
/* intersection */
GST_EXPORT
gboolean gst_value_intersect (GValue *dest,
const GValue *value1,
const GValue *value2);
GST_EXPORT
gboolean gst_value_can_intersect (const GValue *value1,
const GValue *value2);
/* subtraction */
GST_EXPORT
gboolean gst_value_subtract (GValue *dest,
const GValue *minuend,
const GValue *subtrahend);
GST_EXPORT
gboolean gst_value_can_subtract (const GValue *minuend,
const GValue *subtrahend);
/* fixation */
GST_EXPORT
gboolean gst_value_is_fixed (const GValue *value);
GST_EXPORT
gboolean gst_value_fixate (GValue *dest,
const GValue *src);
/* Flagset registration wrapper */
GST_EXPORT
GType gst_flagset_register (GType flags_type);
G_END_DECLS