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) gstenumtypes.h: $(gst_headers)
$(AM_V_GEN)$(GLIB_MKENUMS) \ $(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" \ --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__ */" \ --ftail "G_END_DECLS\n\n#endif /* __GST_ENUM_TYPES_H__ */" \
$^ > gstenumtypes.h $^ > gstenumtypes.h

View file

@ -96,23 +96,40 @@
G_BEGIN_DECLS G_BEGIN_DECLS
GST_EXPORT
void gst_init (int *argc, char **argv[]); void gst_init (int *argc, char **argv[]);
GST_EXPORT
gboolean gst_init_check (int *argc, char **argv[], gboolean gst_init_check (int *argc, char **argv[],
GError ** err); GError ** err);
GST_EXPORT
gboolean gst_is_initialized (void); gboolean gst_is_initialized (void);
GST_EXPORT
GOptionGroup * gst_init_get_option_group (void); GOptionGroup * gst_init_get_option_group (void);
GST_EXPORT
void gst_deinit (void); void gst_deinit (void);
GST_EXPORT
void gst_version (guint *major, guint *minor, void gst_version (guint *major, guint *minor,
guint *micro, guint *nano); guint *micro, guint *nano);
GST_EXPORT
gchar * gst_version_string (void); gchar * gst_version_string (void);
GST_EXPORT
gboolean gst_segtrap_is_enabled (void); gboolean gst_segtrap_is_enabled (void);
GST_EXPORT
void gst_segtrap_set_enabled (gboolean enabled); void gst_segtrap_set_enabled (gboolean enabled);
GST_EXPORT
gboolean gst_registry_fork_is_enabled (void); gboolean gst_registry_fork_is_enabled (void);
GST_EXPORT
void gst_registry_fork_set_enabled (gboolean enabled); void gst_registry_fork_set_enabled (gboolean enabled);
GST_EXPORT
gboolean gst_update_registry (void); gboolean gst_update_registry (void);
G_END_DECLS 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); G_GNUC_INTERNAL void _priv_gst_registry_cleanup (void);
GST_EXPORT
gboolean _gst_plugin_loader_client_run (void); gboolean _gst_plugin_loader_client_run (void);
G_GNUC_INTERNAL GstPlugin * _priv_gst_plugin_load_file_for_registry (const gchar *filename, 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 #ifndef GST_DISABLE_REGISTRY
/* Secret variable to initialise gst without registry cache */ /* Secret variable to initialise gst without registry cache */
GST_EXPORT gboolean _gst_disable_registry_cache; GST_EXPORT gboolean _gst_disable_registry_cache;
#endif #endif

View file

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

View file

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

View file

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

View file

@ -271,73 +271,133 @@ struct _GstBuffer {
guint64 offset_end; guint64 offset_end;
}; };
GST_EXPORT
GType gst_buffer_get_type (void); GType gst_buffer_get_type (void);
GST_EXPORT
guint gst_buffer_get_max_memory (void); guint gst_buffer_get_max_memory (void);
/* allocation */ /* allocation */
GST_EXPORT
GstBuffer * gst_buffer_new (void); GstBuffer * gst_buffer_new (void);
GST_EXPORT
GstBuffer * gst_buffer_new_allocate (GstAllocator * allocator, gsize size, GstBuffer * gst_buffer_new_allocate (GstAllocator * allocator, gsize size,
GstAllocationParams * params); GstAllocationParams * params);
GST_EXPORT
GstBuffer * gst_buffer_new_wrapped_full (GstMemoryFlags flags, gpointer data, gsize maxsize, GstBuffer * gst_buffer_new_wrapped_full (GstMemoryFlags flags, gpointer data, gsize maxsize,
gsize offset, gsize size, gpointer user_data, gsize offset, gsize size, gpointer user_data,
GDestroyNotify notify); GDestroyNotify notify);
GST_EXPORT
GstBuffer * gst_buffer_new_wrapped (gpointer data, gsize size); GstBuffer * gst_buffer_new_wrapped (gpointer data, gsize size);
/* memory blocks */ /* memory blocks */
GST_EXPORT
guint gst_buffer_n_memory (GstBuffer *buffer); guint gst_buffer_n_memory (GstBuffer *buffer);
GST_EXPORT
void gst_buffer_insert_memory (GstBuffer *buffer, gint idx, GstMemory *mem); 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); 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); GstMemory * gst_buffer_peek_memory (GstBuffer *buffer, guint idx);
GST_EXPORT
GstMemory * gst_buffer_get_memory_range (GstBuffer *buffer, guint idx, gint length); 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); void gst_buffer_remove_memory_range (GstBuffer *buffer, guint idx, gint length);
GST_EXPORT
void gst_buffer_prepend_memory (GstBuffer *buffer, GstMemory *mem); void gst_buffer_prepend_memory (GstBuffer *buffer, GstMemory *mem);
GST_EXPORT
void gst_buffer_append_memory (GstBuffer *buffer, GstMemory *mem); void gst_buffer_append_memory (GstBuffer *buffer, GstMemory *mem);
GST_EXPORT
void gst_buffer_replace_memory (GstBuffer *buffer, guint idx, GstMemory *mem); void gst_buffer_replace_memory (GstBuffer *buffer, guint idx, GstMemory *mem);
GST_EXPORT
void gst_buffer_replace_all_memory (GstBuffer *buffer, GstMemory *mem); void gst_buffer_replace_all_memory (GstBuffer *buffer, GstMemory *mem);
GST_EXPORT
GstMemory * gst_buffer_get_memory (GstBuffer *buffer, guint idx); GstMemory * gst_buffer_get_memory (GstBuffer *buffer, guint idx);
GST_EXPORT
GstMemory * gst_buffer_get_all_memory (GstBuffer *buffer); GstMemory * gst_buffer_get_all_memory (GstBuffer *buffer);
GST_EXPORT
void gst_buffer_remove_memory (GstBuffer *buffer, guint idx); void gst_buffer_remove_memory (GstBuffer *buffer, guint idx);
GST_EXPORT
void gst_buffer_remove_all_memory (GstBuffer *buffer); void gst_buffer_remove_all_memory (GstBuffer *buffer);
GST_EXPORT
gboolean gst_buffer_find_memory (GstBuffer *buffer, gsize offset, gsize size, gboolean gst_buffer_find_memory (GstBuffer *buffer, gsize offset, gsize size,
guint *idx, guint *length, gsize *skip); guint *idx, guint *length, gsize *skip);
GST_EXPORT
gboolean gst_buffer_is_memory_range_writable (GstBuffer *buffer, guint idx, gint length); gboolean gst_buffer_is_memory_range_writable (GstBuffer *buffer, guint idx, gint length);
GST_EXPORT
gboolean gst_buffer_is_all_memory_writable (GstBuffer *buffer); gboolean gst_buffer_is_all_memory_writable (GstBuffer *buffer);
GST_EXPORT
gsize gst_buffer_fill (GstBuffer *buffer, gsize offset, gsize gst_buffer_fill (GstBuffer *buffer, gsize offset,
gconstpointer src, gsize size); gconstpointer src, gsize size);
GST_EXPORT
gsize gst_buffer_extract (GstBuffer *buffer, gsize offset, gsize gst_buffer_extract (GstBuffer *buffer, gsize offset,
gpointer dest, gsize size); gpointer dest, gsize size);
GST_EXPORT
gint gst_buffer_memcmp (GstBuffer *buffer, gsize offset, gint gst_buffer_memcmp (GstBuffer *buffer, gsize offset,
gconstpointer mem, gsize size); gconstpointer mem, gsize size);
GST_EXPORT
gsize gst_buffer_memset (GstBuffer *buffer, gsize offset, gsize gst_buffer_memset (GstBuffer *buffer, gsize offset,
guint8 val, gsize size); guint8 val, gsize size);
GST_EXPORT
gsize gst_buffer_get_sizes_range (GstBuffer *buffer, guint idx, gint length, gsize gst_buffer_get_sizes_range (GstBuffer *buffer, guint idx, gint length,
gsize *offset, gsize *maxsize); gsize *offset, gsize *maxsize);
GST_EXPORT
gboolean gst_buffer_resize_range (GstBuffer *buffer, guint idx, gint length, gboolean gst_buffer_resize_range (GstBuffer *buffer, guint idx, gint length,
gssize offset, gssize size); gssize offset, gssize size);
GST_EXPORT
gsize gst_buffer_get_sizes (GstBuffer *buffer, gsize *offset, gsize *maxsize); gsize gst_buffer_get_sizes (GstBuffer *buffer, gsize *offset, gsize *maxsize);
GST_EXPORT
gsize gst_buffer_get_size (GstBuffer *buffer); gsize gst_buffer_get_size (GstBuffer *buffer);
GST_EXPORT
void gst_buffer_resize (GstBuffer *buffer, gssize offset, gssize size); void gst_buffer_resize (GstBuffer *buffer, gssize offset, gssize size);
GST_EXPORT
void gst_buffer_set_size (GstBuffer *buffer, gssize size); void gst_buffer_set_size (GstBuffer *buffer, gssize size);
GST_EXPORT
gboolean gst_buffer_map_range (GstBuffer *buffer, guint idx, gint length, gboolean gst_buffer_map_range (GstBuffer *buffer, guint idx, gint length,
GstMapInfo *info, GstMapFlags flags); GstMapInfo *info, GstMapFlags flags);
GST_EXPORT
gboolean gst_buffer_map (GstBuffer *buffer, GstMapInfo *info, GstMapFlags flags); gboolean gst_buffer_map (GstBuffer *buffer, GstMapInfo *info, GstMapFlags flags);
GST_EXPORT
void gst_buffer_unmap (GstBuffer *buffer, GstMapInfo *info); void gst_buffer_unmap (GstBuffer *buffer, GstMapInfo *info);
GST_EXPORT
void gst_buffer_extract_dup (GstBuffer *buffer, gsize offset, void gst_buffer_extract_dup (GstBuffer *buffer, gsize offset,
gsize size, gpointer *dest, gsize size, gpointer *dest,
gsize *dest_size); gsize *dest_size);
GST_EXPORT
GstBufferFlags gst_buffer_get_flags (GstBuffer * buffer); GstBufferFlags gst_buffer_get_flags (GstBuffer * buffer);
GST_EXPORT
gboolean gst_buffer_has_flags (GstBuffer * buffer, GstBufferFlags flags); gboolean gst_buffer_has_flags (GstBuffer * buffer, GstBufferFlags flags);
GST_EXPORT
gboolean gst_buffer_set_flags (GstBuffer * buffer, GstBufferFlags flags); gboolean gst_buffer_set_flags (GstBuffer * buffer, GstBufferFlags flags);
GST_EXPORT
gboolean gst_buffer_unset_flags (GstBuffer * buffer, GstBufferFlags flags); 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))); return GST_BUFFER (gst_mini_object_copy (GST_MINI_OBJECT_CONST_CAST (buf)));
} }
GST_EXPORT
GstBuffer * gst_buffer_copy_deep (const GstBuffer * buf); 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)) #define GST_BUFFER_COPY_ALL ((GstBufferCopyFlags)(GST_BUFFER_COPY_METADATA | GST_BUFFER_COPY_MEMORY))
/* copies memory or metadata into newly allocated buffer */ /* copies memory or metadata into newly allocated buffer */
GST_EXPORT
gboolean gst_buffer_copy_into (GstBuffer *dest, GstBuffer *src, gboolean gst_buffer_copy_into (GstBuffer *dest, GstBuffer *src,
GstBufferCopyFlags flags, GstBufferCopyFlags flags,
gsize offset, gsize size); gsize offset, gsize size);
@ -509,12 +572,17 @@ gst_buffer_replace (GstBuffer **obuf, GstBuffer *nbuf)
} }
/* creating a region */ /* creating a region */
GST_EXPORT
GstBuffer* gst_buffer_copy_region (GstBuffer *parent, GstBufferCopyFlags flags, GstBuffer* gst_buffer_copy_region (GstBuffer *parent, GstBufferCopyFlags flags,
gsize offset, gsize size); gsize offset, gsize size);
/* append two buffers */ /* append two buffers */
GST_EXPORT
GstBuffer* gst_buffer_append_region (GstBuffer *buf1, GstBuffer *buf2, GstBuffer* gst_buffer_append_region (GstBuffer *buf1, GstBuffer *buf2,
gssize offset, gssize size); gssize offset, gssize size);
GST_EXPORT
GstBuffer* gst_buffer_append (GstBuffer *buf1, GstBuffer *buf2); GstBuffer* gst_buffer_append (GstBuffer *buf1, GstBuffer *buf2);
/* metadata */ /* metadata */
@ -541,17 +609,23 @@ GstBuffer* gst_buffer_append (GstBuffer *buf1, GstBuffer *buf
typedef gboolean (*GstBufferForeachMetaFunc) (GstBuffer *buffer, GstMeta **meta, typedef gboolean (*GstBufferForeachMetaFunc) (GstBuffer *buffer, GstMeta **meta,
gpointer user_data); gpointer user_data);
GST_EXPORT
GstMeta * gst_buffer_get_meta (GstBuffer *buffer, GType api); GstMeta * gst_buffer_get_meta (GstBuffer *buffer, GType api);
GST_EXPORT
GstMeta * gst_buffer_add_meta (GstBuffer *buffer, const GstMetaInfo *info, GstMeta * gst_buffer_add_meta (GstBuffer *buffer, const GstMetaInfo *info,
gpointer params); gpointer params);
GST_EXPORT
gboolean gst_buffer_remove_meta (GstBuffer *buffer, GstMeta *meta); gboolean gst_buffer_remove_meta (GstBuffer *buffer, GstMeta *meta);
GST_EXPORT
GstMeta * gst_buffer_iterate_meta (GstBuffer *buffer, gpointer *state); GstMeta * gst_buffer_iterate_meta (GstBuffer *buffer, gpointer *state);
GST_EXPORT
GstMeta * gst_buffer_iterate_meta_filtered (GstBuffer * buffer, GstMeta * gst_buffer_iterate_meta_filtered (GstBuffer * buffer,
gpointer * state, gpointer * state,
GType meta_api_type); GType meta_api_type);
GST_EXPORT
gboolean gst_buffer_foreach_meta (GstBuffer *buffer, gboolean gst_buffer_foreach_meta (GstBuffer *buffer,
GstBufferForeachMetaFunc func, GstBufferForeachMetaFunc func,
gpointer user_data); gpointer user_data);
@ -610,6 +684,7 @@ struct _GstParentBufferMeta
GstBuffer *buffer; GstBuffer *buffer;
}; };
GST_EXPORT
GType gst_parent_buffer_meta_api_get_type (void); GType gst_parent_buffer_meta_api_get_type (void);
#ifndef GST_DISABLE_DEPRECATED #ifndef GST_DISABLE_DEPRECATED
#define GST_TYPE_PARENT_BUFFER_META_API_TYPE GST_PARENT_BUFFER_META_API_TYPE #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) \ #define gst_buffer_get_parent_buffer_meta(b) \
((GstParentBufferMeta*)gst_buffer_get_meta((b),GST_PARENT_BUFFER_META_API_TYPE)) ((GstParentBufferMeta*)gst_buffer_get_meta((b),GST_PARENT_BUFFER_META_API_TYPE))
GST_EXPORT
const GstMetaInfo *gst_parent_buffer_meta_get_info (void); const GstMetaInfo *gst_parent_buffer_meta_get_info (void);
#define GST_PARENT_BUFFER_META_INFO (gst_parent_buffer_meta_get_info()) #define GST_PARENT_BUFFER_META_INFO (gst_parent_buffer_meta_get_info())
/* implementation */ /* implementation */
GST_EXPORT
GstParentBufferMeta *gst_buffer_add_parent_buffer_meta (GstBuffer *buffer, GstParentBufferMeta *gst_buffer_add_parent_buffer_meta (GstBuffer *buffer,
GstBuffer *ref); GstBuffer *ref);
@ -664,16 +742,25 @@ struct _GstReferenceTimestampMeta
GstClockTime timestamp, duration; GstClockTime timestamp, duration;
}; };
GST_EXPORT
GType gst_reference_timestamp_meta_api_get_type (void); GType gst_reference_timestamp_meta_api_get_type (void);
#define GST_REFERENCE_TIMESTAMP_META_API_TYPE (gst_reference_timestamp_meta_api_get_type()) #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); const GstMetaInfo *gst_reference_timestamp_meta_get_info (void);
#define GST_REFERENCE_TIMESTAMP_META_INFO (gst_reference_timestamp_meta_get_info()) #define GST_REFERENCE_TIMESTAMP_META_INFO (gst_reference_timestamp_meta_get_info())
/* implementation */ /* implementation */
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); 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 #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstBuffer, gst_buffer_unref) 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))) #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); GType gst_buffer_list_get_type (void);
/* allocation */ /* allocation */
GST_EXPORT
GstBufferList * gst_buffer_list_new (void) G_GNUC_MALLOC; GstBufferList * gst_buffer_list_new (void) G_GNUC_MALLOC;
GST_EXPORT
GstBufferList * gst_buffer_list_new_sized (guint size) G_GNUC_MALLOC; GstBufferList * gst_buffer_list_new_sized (guint size) G_GNUC_MALLOC;
GST_EXPORT
guint gst_buffer_list_length (GstBufferList *list); guint gst_buffer_list_length (GstBufferList *list);
GST_EXPORT
GstBuffer * gst_buffer_list_get (GstBufferList *list, guint idx); GstBuffer * gst_buffer_list_get (GstBufferList *list, guint idx);
GST_EXPORT
void gst_buffer_list_insert (GstBufferList *list, gint idx, GstBuffer *buffer); void gst_buffer_list_insert (GstBufferList *list, gint idx, GstBuffer *buffer);
GST_EXPORT
void gst_buffer_list_remove (GstBufferList *list, guint idx, guint length); void gst_buffer_list_remove (GstBufferList *list, guint idx, guint length);
GST_EXPORT
gboolean gst_buffer_list_foreach (GstBufferList *list, gboolean gst_buffer_list_foreach (GstBufferList *list,
GstBufferListFunc func, GstBufferListFunc func,
gpointer user_data); gpointer user_data);
GST_EXPORT
GstBufferList * gst_buffer_list_copy_deep (const GstBufferList * list); GstBufferList * gst_buffer_list_copy_deep (const GstBufferList * list);
#define gst_buffer_list_add(l,b) gst_buffer_list_insert((l),-1,(b)); #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]; gpointer _gst_reserved[GST_PADDING - 2];
}; };
GST_EXPORT
GType gst_buffer_pool_get_type (void); GType gst_buffer_pool_get_type (void);
/* allocation */ /* allocation */
GST_EXPORT
GstBufferPool * gst_buffer_pool_new (void); GstBufferPool * gst_buffer_pool_new (void);
/* state management */ /* state management */
GST_EXPORT
gboolean gst_buffer_pool_set_active (GstBufferPool *pool, gboolean active); gboolean gst_buffer_pool_set_active (GstBufferPool *pool, gboolean active);
GST_EXPORT
gboolean gst_buffer_pool_is_active (GstBufferPool *pool); gboolean gst_buffer_pool_is_active (GstBufferPool *pool);
GST_EXPORT
gboolean gst_buffer_pool_set_config (GstBufferPool *pool, GstStructure *config); gboolean gst_buffer_pool_set_config (GstBufferPool *pool, GstStructure *config);
GST_EXPORT
GstStructure * gst_buffer_pool_get_config (GstBufferPool *pool); GstStructure * gst_buffer_pool_get_config (GstBufferPool *pool);
GST_EXPORT
const gchar ** gst_buffer_pool_get_options (GstBufferPool *pool); const gchar ** gst_buffer_pool_get_options (GstBufferPool *pool);
GST_EXPORT
gboolean gst_buffer_pool_has_option (GstBufferPool *pool, const gchar *option); gboolean gst_buffer_pool_has_option (GstBufferPool *pool, const gchar *option);
GST_EXPORT
void gst_buffer_pool_set_flushing (GstBufferPool *pool, gboolean flushing); void gst_buffer_pool_set_flushing (GstBufferPool *pool, gboolean flushing);
/* helpers for configuring the config structure */ /* helpers for configuring the config structure */
GST_EXPORT
void gst_buffer_pool_config_set_params (GstStructure *config, GstCaps *caps, void gst_buffer_pool_config_set_params (GstStructure *config, GstCaps *caps,
guint size, guint min_buffers, guint max_buffers); guint size, guint min_buffers, guint max_buffers);
GST_EXPORT
gboolean gst_buffer_pool_config_get_params (GstStructure *config, GstCaps **caps, gboolean gst_buffer_pool_config_get_params (GstStructure *config, GstCaps **caps,
guint *size, guint *min_buffers, guint *max_buffers); guint *size, guint *min_buffers, guint *max_buffers);
GST_EXPORT
void gst_buffer_pool_config_set_allocator (GstStructure *config, GstAllocator *allocator, void gst_buffer_pool_config_set_allocator (GstStructure *config, GstAllocator *allocator,
const GstAllocationParams *params); const GstAllocationParams *params);
GST_EXPORT
gboolean gst_buffer_pool_config_get_allocator (GstStructure *config, GstAllocator **allocator, gboolean gst_buffer_pool_config_get_allocator (GstStructure *config, GstAllocator **allocator,
GstAllocationParams *params); GstAllocationParams *params);
/* options */ /* options */
GST_EXPORT
guint gst_buffer_pool_config_n_options (GstStructure *config); guint gst_buffer_pool_config_n_options (GstStructure *config);
GST_EXPORT
void gst_buffer_pool_config_add_option (GstStructure *config, const gchar *option); 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); 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); 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, gboolean gst_buffer_pool_config_validate_params (GstStructure *config, GstCaps *caps,
guint size, guint min_buffers, guint max_buffers); guint size, guint min_buffers, guint max_buffers);
/* buffer management */ /* buffer management */
GST_EXPORT
GstFlowReturn gst_buffer_pool_acquire_buffer (GstBufferPool *pool, GstBuffer **buffer, GstFlowReturn gst_buffer_pool_acquire_buffer (GstBufferPool *pool, GstBuffer **buffer,
GstBufferPoolAcquireParams *params); GstBufferPoolAcquireParams *params);
GST_EXPORT
void gst_buffer_pool_release_buffer (GstBufferPool *pool, GstBuffer *buffer); void gst_buffer_pool_release_buffer (GstBufferPool *pool, GstBuffer *buffer);
G_END_DECLS G_END_DECLS

View file

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

View file

@ -137,6 +137,7 @@ typedef struct _GstCaps GstCaps;
typedef struct _GstStaticCaps GstStaticCaps; typedef struct _GstStaticCaps GstStaticCaps;
GST_EXPORT GstCaps * _gst_caps_any; GST_EXPORT GstCaps * _gst_caps_any;
GST_EXPORT GstCaps * _gst_caps_none; GST_EXPORT GstCaps * _gst_caps_none;
/** /**
* GST_CAPS_FLAGS: * GST_CAPS_FLAGS:
@ -395,110 +396,174 @@ typedef gboolean (*GstCapsFilterMapFunc) (GstCapsFeatures *features,
gpointer user_data); gpointer user_data);
GST_EXPORT
GType gst_caps_get_type (void); GType gst_caps_get_type (void);
GST_EXPORT
GstCaps * gst_caps_new_empty (void); GstCaps * gst_caps_new_empty (void);
GST_EXPORT
GstCaps * gst_caps_new_any (void); GstCaps * gst_caps_new_any (void);
GST_EXPORT
GstCaps * gst_caps_new_empty_simple (const char *media_type) G_GNUC_WARN_UNUSED_RESULT; 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, GstCaps * gst_caps_new_simple (const char *media_type,
const char *fieldname, const char *fieldname,
...) G_GNUC_NULL_TERMINATED G_GNUC_WARN_UNUSED_RESULT; ...) G_GNUC_NULL_TERMINATED G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
GstCaps * gst_caps_new_full (GstStructure *struct1, GstCaps * gst_caps_new_full (GstStructure *struct1,
...) G_GNUC_NULL_TERMINATED G_GNUC_WARN_UNUSED_RESULT; ...) G_GNUC_NULL_TERMINATED G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
GstCaps * gst_caps_new_full_valist (GstStructure *structure, GstCaps * gst_caps_new_full_valist (GstStructure *structure,
va_list var_args) G_GNUC_WARN_UNUSED_RESULT; va_list var_args) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
GType gst_static_caps_get_type (void); GType gst_static_caps_get_type (void);
GST_EXPORT
GstCaps * gst_static_caps_get (GstStaticCaps *static_caps); GstCaps * gst_static_caps_get (GstStaticCaps *static_caps);
GST_EXPORT
void gst_static_caps_cleanup (GstStaticCaps *static_caps); void gst_static_caps_cleanup (GstStaticCaps *static_caps);
/* manipulation */ /* manipulation */
GST_EXPORT
void gst_caps_append (GstCaps *caps1, void gst_caps_append (GstCaps *caps1,
GstCaps *caps2); GstCaps *caps2);
GST_EXPORT
void gst_caps_append_structure (GstCaps *caps, void gst_caps_append_structure (GstCaps *caps,
GstStructure *structure); GstStructure *structure);
GST_EXPORT
void gst_caps_append_structure_full (GstCaps *caps, void gst_caps_append_structure_full (GstCaps *caps,
GstStructure *structure, GstStructure *structure,
GstCapsFeatures *features); GstCapsFeatures *features);
GST_EXPORT
void gst_caps_remove_structure (GstCaps *caps, guint idx); void gst_caps_remove_structure (GstCaps *caps, guint idx);
GST_EXPORT
GstCaps * gst_caps_merge (GstCaps *caps1, GstCaps * gst_caps_merge (GstCaps *caps1,
GstCaps *caps2) G_GNUC_WARN_UNUSED_RESULT; GstCaps *caps2) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
GstCaps * gst_caps_merge_structure (GstCaps *caps, GstCaps * gst_caps_merge_structure (GstCaps *caps,
GstStructure *structure) G_GNUC_WARN_UNUSED_RESULT; GstStructure *structure) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
GstCaps * gst_caps_merge_structure_full (GstCaps *caps, GstCaps * gst_caps_merge_structure_full (GstCaps *caps,
GstStructure *structure, GstStructure *structure,
GstCapsFeatures *features) G_GNUC_WARN_UNUSED_RESULT; GstCapsFeatures *features) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
guint gst_caps_get_size (const GstCaps *caps); guint gst_caps_get_size (const GstCaps *caps);
GST_EXPORT
GstStructure * gst_caps_get_structure (const GstCaps *caps, GstStructure * gst_caps_get_structure (const GstCaps *caps,
guint index); guint index);
GST_EXPORT
GstStructure * gst_caps_steal_structure (GstCaps *caps, GstStructure * gst_caps_steal_structure (GstCaps *caps,
guint index) G_GNUC_WARN_UNUSED_RESULT; guint index) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
void gst_caps_set_features (GstCaps *caps, void gst_caps_set_features (GstCaps *caps,
guint index, guint index,
GstCapsFeatures * features); GstCapsFeatures * features);
GST_EXPORT
GstCapsFeatures * gst_caps_get_features (const GstCaps *caps, GstCapsFeatures * gst_caps_get_features (const GstCaps *caps,
guint index); guint index);
GST_EXPORT
GstCaps * gst_caps_copy_nth (const GstCaps *caps, guint nth) G_GNUC_WARN_UNUSED_RESULT; 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; GstCaps * gst_caps_truncate (GstCaps *caps) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
void gst_caps_set_value (GstCaps *caps, void gst_caps_set_value (GstCaps *caps,
const char *field, const char *field,
const GValue *value); const GValue *value);
GST_EXPORT
void gst_caps_set_simple (GstCaps *caps, void gst_caps_set_simple (GstCaps *caps,
const char *field, ...) G_GNUC_NULL_TERMINATED; const char *field, ...) G_GNUC_NULL_TERMINATED;
GST_EXPORT
void gst_caps_set_simple_valist (GstCaps *caps, void gst_caps_set_simple_valist (GstCaps *caps,
const char *field, const char *field,
va_list varargs); va_list varargs);
GST_EXPORT
gboolean gst_caps_foreach (const GstCaps *caps, gboolean gst_caps_foreach (const GstCaps *caps,
GstCapsForeachFunc func, GstCapsForeachFunc func,
gpointer user_data); gpointer user_data);
GST_EXPORT
gboolean gst_caps_map_in_place (GstCaps *caps, gboolean gst_caps_map_in_place (GstCaps *caps,
GstCapsMapFunc func, GstCapsMapFunc func,
gpointer user_data); gpointer user_data);
GST_EXPORT
void gst_caps_filter_and_map_in_place (GstCaps *caps, void gst_caps_filter_and_map_in_place (GstCaps *caps,
GstCapsFilterMapFunc func, GstCapsFilterMapFunc func,
gpointer user_data); gpointer user_data);
/* tests */ /* tests */
GST_EXPORT
gboolean gst_caps_is_any (const GstCaps *caps); gboolean gst_caps_is_any (const GstCaps *caps);
GST_EXPORT
gboolean gst_caps_is_empty (const GstCaps *caps); gboolean gst_caps_is_empty (const GstCaps *caps);
GST_EXPORT
gboolean gst_caps_is_fixed (const GstCaps *caps); gboolean gst_caps_is_fixed (const GstCaps *caps);
GST_EXPORT
gboolean gst_caps_is_always_compatible (const GstCaps *caps1, gboolean gst_caps_is_always_compatible (const GstCaps *caps1,
const GstCaps *caps2); const GstCaps *caps2);
GST_EXPORT
gboolean gst_caps_is_subset (const GstCaps *subset, gboolean gst_caps_is_subset (const GstCaps *subset,
const GstCaps *superset); const GstCaps *superset);
GST_EXPORT
gboolean gst_caps_is_subset_structure (const GstCaps *caps, gboolean gst_caps_is_subset_structure (const GstCaps *caps,
const GstStructure *structure); const GstStructure *structure);
GST_EXPORT
gboolean gst_caps_is_subset_structure_full (const GstCaps *caps, gboolean gst_caps_is_subset_structure_full (const GstCaps *caps,
const GstStructure *structure, const GstStructure *structure,
const GstCapsFeatures *features); const GstCapsFeatures *features);
GST_EXPORT
gboolean gst_caps_is_equal (const GstCaps *caps1, gboolean gst_caps_is_equal (const GstCaps *caps1,
const GstCaps *caps2); const GstCaps *caps2);
GST_EXPORT
gboolean gst_caps_is_equal_fixed (const GstCaps *caps1, gboolean gst_caps_is_equal_fixed (const GstCaps *caps1,
const GstCaps *caps2); const GstCaps *caps2);
GST_EXPORT
gboolean gst_caps_can_intersect (const GstCaps * caps1, gboolean gst_caps_can_intersect (const GstCaps * caps1,
const GstCaps * caps2); const GstCaps * caps2);
GST_EXPORT
gboolean gst_caps_is_strictly_equal (const GstCaps *caps1, gboolean gst_caps_is_strictly_equal (const GstCaps *caps1,
const GstCaps *caps2); const GstCaps *caps2);
/* operations */ /* operations */
GST_EXPORT
GstCaps * gst_caps_intersect (GstCaps *caps1, GstCaps * gst_caps_intersect (GstCaps *caps1,
GstCaps *caps2) G_GNUC_WARN_UNUSED_RESULT; GstCaps *caps2) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
GstCaps * gst_caps_intersect_full (GstCaps *caps1, GstCaps * gst_caps_intersect_full (GstCaps *caps1,
GstCaps *caps2, GstCaps *caps2,
GstCapsIntersectMode mode) G_GNUC_WARN_UNUSED_RESULT; GstCapsIntersectMode mode) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
GstCaps * gst_caps_subtract (GstCaps *minuend, GstCaps * gst_caps_subtract (GstCaps *minuend,
GstCaps *subtrahend) G_GNUC_WARN_UNUSED_RESULT; GstCaps *subtrahend) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
GstCaps * gst_caps_normalize (GstCaps *caps) G_GNUC_WARN_UNUSED_RESULT; GstCaps * gst_caps_normalize (GstCaps *caps) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
GstCaps * gst_caps_simplify (GstCaps *caps) G_GNUC_WARN_UNUSED_RESULT; GstCaps * gst_caps_simplify (GstCaps *caps) G_GNUC_WARN_UNUSED_RESULT;
GST_EXPORT
GstCaps * gst_caps_fixate (GstCaps *caps) G_GNUC_WARN_UNUSED_RESULT; GstCaps * gst_caps_fixate (GstCaps *caps) G_GNUC_WARN_UNUSED_RESULT;
/* utility */ /* utility */
GST_EXPORT
gchar * gst_caps_to_string (const GstCaps *caps) G_GNUC_MALLOC; 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; GstCaps * gst_caps_from_string (const gchar *string) G_GNUC_WARN_UNUSED_RESULT;
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC #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; GST_EXPORT GstCapsFeatures *_gst_caps_features_memory_system_memory;
#define GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY (_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); GType gst_caps_features_get_type (void);
GST_EXPORT
gboolean gst_is_caps_features (gconstpointer obj); gboolean gst_is_caps_features (gconstpointer obj);
GST_EXPORT
GstCapsFeatures * gst_caps_features_new_empty (void); GstCapsFeatures * gst_caps_features_new_empty (void);
GST_EXPORT
GstCapsFeatures * gst_caps_features_new_any (void); GstCapsFeatures * gst_caps_features_new_any (void);
GST_EXPORT
GstCapsFeatures * gst_caps_features_new (const gchar *feature1, ...); GstCapsFeatures * gst_caps_features_new (const gchar *feature1, ...);
GST_EXPORT
GstCapsFeatures * gst_caps_features_new_valist (const gchar *feature1, va_list varargs); GstCapsFeatures * gst_caps_features_new_valist (const gchar *feature1, va_list varargs);
GST_EXPORT
GstCapsFeatures * gst_caps_features_new_id (GQuark feature1, ...); GstCapsFeatures * gst_caps_features_new_id (GQuark feature1, ...);
GST_EXPORT
GstCapsFeatures * gst_caps_features_new_id_valist (GQuark feature1, va_list varargs); 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); gboolean gst_caps_features_set_parent_refcount (GstCapsFeatures *features, gint * refcount);
GST_EXPORT
GstCapsFeatures * gst_caps_features_copy (const GstCapsFeatures * features); GstCapsFeatures * gst_caps_features_copy (const GstCapsFeatures * features);
GST_EXPORT
void gst_caps_features_free (GstCapsFeatures * features); void gst_caps_features_free (GstCapsFeatures * features);
GST_EXPORT
gchar * gst_caps_features_to_string (const GstCapsFeatures * features); gchar * gst_caps_features_to_string (const GstCapsFeatures * features);
GST_EXPORT
GstCapsFeatures * gst_caps_features_from_string (const gchar * features); GstCapsFeatures * gst_caps_features_from_string (const gchar * features);
GST_EXPORT
guint gst_caps_features_get_size (const GstCapsFeatures * features); guint gst_caps_features_get_size (const GstCapsFeatures * features);
GST_EXPORT
const gchar * gst_caps_features_get_nth (const GstCapsFeatures * features, guint i); 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); 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); gboolean gst_caps_features_contains (const GstCapsFeatures * features, const gchar * feature);
GST_EXPORT
gboolean gst_caps_features_contains_id (const GstCapsFeatures * features, GQuark feature); 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); gboolean gst_caps_features_is_equal (const GstCapsFeatures * features1, const GstCapsFeatures * features2);
GST_EXPORT
gboolean gst_caps_features_is_any (const GstCapsFeatures * features); gboolean gst_caps_features_is_any (const GstCapsFeatures * features);
GST_EXPORT
void gst_caps_features_add (GstCapsFeatures * features, const gchar * feature); void gst_caps_features_add (GstCapsFeatures * features, const gchar * feature);
GST_EXPORT
void gst_caps_features_add_id ( GstCapsFeatures * features, GQuark feature); void gst_caps_features_add_id ( GstCapsFeatures * features, GQuark feature);
GST_EXPORT
void gst_caps_features_remove (GstCapsFeatures * features, const gchar * feature); void gst_caps_features_remove (GstCapsFeatures * features, const gchar * feature);
GST_EXPORT
void gst_caps_features_remove_id (GstCapsFeatures * features, GQuark feature); void gst_caps_features_remove_id (GstCapsFeatures * features, GQuark feature);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

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

View file

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

View file

@ -42,6 +42,7 @@ GST_EXPORT GType _gst_context_type;
GST_EXPORT
GType gst_context_get_type (void); 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); return gst_mini_object_replace ((GstMiniObject **) old_context, (GstMiniObject *) new_context);
} }
GST_EXPORT
GstContext * gst_context_new (const gchar * context_type, GstContext * gst_context_new (const gchar * context_type,
gboolean persistent) G_GNUC_MALLOC; gboolean persistent) G_GNUC_MALLOC;
GST_EXPORT
const gchar * gst_context_get_context_type (const GstContext * context); 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); gboolean gst_context_has_context_type (const GstContext * context, const gchar * context_type);
GST_EXPORT
const GstStructure * gst_context_get_structure (const GstContext * context); const GstStructure * gst_context_get_structure (const GstContext * context);
GST_EXPORT
GstStructure * gst_context_writable_structure (GstContext * context); GstStructure * gst_context_writable_structure (GstContext * context);
GST_EXPORT
gboolean gst_context_is_persistent (const GstContext * context); gboolean gst_context_is_persistent (const GstContext * context);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

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

View file

@ -125,11 +125,15 @@ struct _GstControlSourceClass
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };
GST_EXPORT
GType gst_control_source_get_type (void); GType gst_control_source_get_type (void);
/* Functions */ /* Functions */
GST_EXPORT
gboolean gst_control_source_get_value (GstControlSource *self, GstClockTime timestamp, gboolean gst_control_source_get_value (GstControlSource *self, GstClockTime timestamp,
gdouble *value); gdouble *value);
GST_EXPORT
gboolean gst_control_source_get_value_array (GstControlSource *self, GstClockTime timestamp, gboolean gst_control_source_get_value_array (GstControlSource *self, GstClockTime timestamp,
GstClockTime interval, guint n_values, GstClockTime interval, guint n_values,
gdouble *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) #define GST_TYPE_DATE_TIME (_gst_date_time_type)
GST_EXPORT
GType gst_date_time_get_type (void); GType gst_date_time_get_type (void);
/* query which fields are set */ /* query which fields are set */
GST_EXPORT
gboolean gst_date_time_has_year (const GstDateTime * datetime); gboolean gst_date_time_has_year (const GstDateTime * datetime);
GST_EXPORT
gboolean gst_date_time_has_month (const GstDateTime * datetime); gboolean gst_date_time_has_month (const GstDateTime * datetime);
GST_EXPORT
gboolean gst_date_time_has_day (const GstDateTime * datetime); gboolean gst_date_time_has_day (const GstDateTime * datetime);
GST_EXPORT
gboolean gst_date_time_has_time (const GstDateTime * datetime); gboolean gst_date_time_has_time (const GstDateTime * datetime);
GST_EXPORT
gboolean gst_date_time_has_second (const GstDateTime * datetime); gboolean gst_date_time_has_second (const GstDateTime * datetime);
/* field getters */ /* field getters */
GST_EXPORT
gint gst_date_time_get_year (const GstDateTime * datetime); gint gst_date_time_get_year (const GstDateTime * datetime);
GST_EXPORT
gint gst_date_time_get_month (const GstDateTime * datetime); gint gst_date_time_get_month (const GstDateTime * datetime);
GST_EXPORT
gint gst_date_time_get_day (const GstDateTime * datetime); gint gst_date_time_get_day (const GstDateTime * datetime);
GST_EXPORT
gint gst_date_time_get_hour (const GstDateTime * datetime); gint gst_date_time_get_hour (const GstDateTime * datetime);
GST_EXPORT
gint gst_date_time_get_minute (const GstDateTime * datetime); gint gst_date_time_get_minute (const GstDateTime * datetime);
GST_EXPORT
gint gst_date_time_get_second (const GstDateTime * datetime); gint gst_date_time_get_second (const GstDateTime * datetime);
GST_EXPORT
gint gst_date_time_get_microsecond (const GstDateTime * datetime); gint gst_date_time_get_microsecond (const GstDateTime * datetime);
GST_EXPORT
gfloat gst_date_time_get_time_zone_offset (const GstDateTime * datetime); gfloat gst_date_time_get_time_zone_offset (const GstDateTime * datetime);
/* constructors */ /* constructors */
GST_EXPORT
GstDateTime * gst_date_time_new_from_unix_epoch_local_time (gint64 secs) G_GNUC_MALLOC; 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; 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, GstDateTime * gst_date_time_new_local_time (gint year,
gint month, gint month,
gint day, gint day,
gint hour, gint hour,
gint minute, gint minute,
gdouble seconds) G_GNUC_MALLOC; gdouble seconds) G_GNUC_MALLOC;
GST_EXPORT
GstDateTime * gst_date_time_new_y (gint year) G_GNUC_MALLOC; GstDateTime * gst_date_time_new_y (gint year) G_GNUC_MALLOC;
GST_EXPORT
GstDateTime * gst_date_time_new_ym (gint year, GstDateTime * gst_date_time_new_ym (gint year,
gint month) G_GNUC_MALLOC; gint month) G_GNUC_MALLOC;
GST_EXPORT
GstDateTime * gst_date_time_new_ymd (gint year, GstDateTime * gst_date_time_new_ymd (gint year,
gint month, gint month,
gint day) G_GNUC_MALLOC; gint day) G_GNUC_MALLOC;
GST_EXPORT
GstDateTime * gst_date_time_new (gfloat tzoffset, GstDateTime * gst_date_time_new (gfloat tzoffset,
gint year, gint month, gint year, gint month,
gint day, gint hour, gint day, gint hour,
gint minute, gint minute,
gdouble seconds) G_GNUC_MALLOC; gdouble seconds) G_GNUC_MALLOC;
GST_EXPORT
GstDateTime * gst_date_time_new_now_local_time (void) G_GNUC_MALLOC; 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; 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; 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; 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); GDateTime * gst_date_time_to_g_date_time (GstDateTime * datetime);
GST_EXPORT
GstDateTime * gst_date_time_new_from_g_date_time (GDateTime * dt); GstDateTime * gst_date_time_new_from_g_date_time (GDateTime * dt);
/* refcounting */ /* refcounting */
GST_EXPORT
GstDateTime * gst_date_time_ref (GstDateTime * datetime); GstDateTime * gst_date_time_ref (GstDateTime * datetime);
GST_EXPORT
void gst_date_time_unref (GstDateTime * datetime); void gst_date_time_unref (GstDateTime * datetime);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -58,8 +58,13 @@ typedef enum {
/********** pipeline graphs **********/ /********** pipeline graphs **********/
GST_EXPORT
gchar * gst_debug_bin_to_dot_data (GstBin *bin, GstDebugGraphDetails details); 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); 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); void gst_debug_bin_to_dot_file_with_ts (GstBin *bin, GstDebugGraphDetails details, const gchar *file_name);
#ifndef GST_DISABLE_GST_DEBUG #ifndef GST_DISABLE_GST_DEBUG

View file

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

View file

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

View file

@ -99,49 +99,69 @@ struct _GstDeviceProviderClass {
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };
GST_EXPORT
GType gst_device_provider_get_type (void); GType gst_device_provider_get_type (void);
GST_EXPORT
GList * gst_device_provider_get_devices (GstDeviceProvider * provider); GList * gst_device_provider_get_devices (GstDeviceProvider * provider);
GST_EXPORT
gboolean gst_device_provider_start (GstDeviceProvider * provider); gboolean gst_device_provider_start (GstDeviceProvider * provider);
GST_EXPORT
void gst_device_provider_stop (GstDeviceProvider * provider); void gst_device_provider_stop (GstDeviceProvider * provider);
GST_EXPORT
gboolean gst_device_provider_can_monitor (GstDeviceProvider * provider); gboolean gst_device_provider_can_monitor (GstDeviceProvider * provider);
GST_EXPORT
GstBus * gst_device_provider_get_bus (GstDeviceProvider * provider); GstBus * gst_device_provider_get_bus (GstDeviceProvider * provider);
GST_EXPORT
void gst_device_provider_device_add (GstDeviceProvider * provider, void gst_device_provider_device_add (GstDeviceProvider * provider,
GstDevice * device); GstDevice * device);
GST_EXPORT
void gst_device_provider_device_remove (GstDeviceProvider * provider, void gst_device_provider_device_remove (GstDeviceProvider * provider,
GstDevice * device); GstDevice * device);
GST_EXPORT
gchar ** gst_device_provider_get_hidden_providers (GstDeviceProvider * provider); gchar ** gst_device_provider_get_hidden_providers (GstDeviceProvider * provider);
GST_EXPORT
void gst_device_provider_hide_provider (GstDeviceProvider * provider, void gst_device_provider_hide_provider (GstDeviceProvider * provider,
const gchar * name); const gchar * name);
GST_EXPORT
void gst_device_provider_unhide_provider (GstDeviceProvider * provider, void gst_device_provider_unhide_provider (GstDeviceProvider * provider,
const gchar * name); const gchar * name);
/* device provider class meta data */ /* device provider class meta data */
GST_EXPORT
void gst_device_provider_class_set_metadata (GstDeviceProviderClass *klass, void gst_device_provider_class_set_metadata (GstDeviceProviderClass *klass,
const gchar *longname, const gchar *longname,
const gchar *classification, const gchar *classification,
const gchar *description, const gchar *description,
const gchar *author); const gchar *author);
GST_EXPORT
void gst_device_provider_class_set_static_metadata (GstDeviceProviderClass *klass, void gst_device_provider_class_set_static_metadata (GstDeviceProviderClass *klass,
const gchar *longname, const gchar *longname,
const gchar *classification, const gchar *classification,
const gchar *description, const gchar *description,
const gchar *author); const gchar *author);
GST_EXPORT
void gst_device_provider_class_add_metadata (GstDeviceProviderClass * klass, void gst_device_provider_class_add_metadata (GstDeviceProviderClass * klass,
const gchar * key, const gchar * value); const gchar * key, const gchar * value);
GST_EXPORT
void gst_device_provider_class_add_static_metadata (GstDeviceProviderClass * klass, void gst_device_provider_class_add_static_metadata (GstDeviceProviderClass * klass,
const gchar * key, const gchar * value); const gchar * key, const gchar * value);
GST_EXPORT
const gchar * gst_device_provider_class_get_metadata (GstDeviceProviderClass * klass, const gchar * gst_device_provider_class_get_metadata (GstDeviceProviderClass * klass,
const gchar * key); const gchar * key);
/* factory management */ /* factory management */
GST_EXPORT
GstDeviceProviderFactory * gst_device_provider_get_factory (GstDeviceProvider * provider); GstDeviceProviderFactory * gst_device_provider_get_factory (GstDeviceProvider * provider);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC #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_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)) #define GST_DEVICE_PROVIDER_FACTORY_CAST(obj) ((GstDeviceProviderFactory *)(obj))
GST_EXPORT
GType gst_device_provider_factory_get_type (void); GType gst_device_provider_factory_get_type (void);
GST_EXPORT
GstDeviceProviderFactory * gst_device_provider_factory_find (const gchar *name); GstDeviceProviderFactory * gst_device_provider_factory_find (const gchar *name);
GST_EXPORT
GType gst_device_provider_factory_get_device_provider_type (GstDeviceProviderFactory *factory); 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); 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); gchar ** gst_device_provider_factory_get_metadata_keys (GstDeviceProviderFactory *factory);
GST_EXPORT
GstDeviceProvider* gst_device_provider_factory_get (GstDeviceProviderFactory *factory) G_GNUC_MALLOC; 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; 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, gboolean gst_device_provider_register (GstPlugin *plugin, const gchar *name,
guint rank, guint rank,
GType type); GType type);
GST_EXPORT
gboolean gst_device_provider_factory_has_classesv (GstDeviceProviderFactory * factory, gboolean gst_device_provider_factory_has_classesv (GstDeviceProviderFactory * factory,
gchar ** classes); gchar ** classes);
GST_EXPORT
gboolean gst_device_provider_factory_has_classes (GstDeviceProviderFactory *factory, gboolean gst_device_provider_factory_has_classes (GstDeviceProviderFactory *factory,
const gchar * classes); const gchar * classes);
GST_EXPORT
GList * gst_device_provider_factory_list_get_device_providers ( GList * gst_device_provider_factory_list_get_device_providers (
GstRank minrank) G_GNUC_MALLOC; 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_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)) #define GST_DYNAMIC_TYPE_FACTORY_CAST(obj) ((GstDynamicTypeFactory *)(obj))
GST_EXPORT
GType gst_dynamic_type_factory_get_type (void); GType gst_dynamic_type_factory_get_type (void);
GST_EXPORT
GType gst_dynamic_type_factory_load (const gchar *factoryname); GType gst_dynamic_type_factory_load (const gchar *factoryname);
GST_EXPORT
gboolean gst_dynamic_type_register (GstPlugin *plugin, GType type); gboolean gst_dynamic_type_register (GstPlugin *plugin, GType type);
G_END_DECLS G_END_DECLS

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -57,16 +57,23 @@ struct _GstProxyPadClass
gpointer _gst_reserved[1]; gpointer _gst_reserved[1];
}; };
GST_EXPORT
GType gst_proxy_pad_get_type (void); 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; 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, GstFlowReturn gst_proxy_pad_chain_default (GstPad *pad, GstObject *parent,
GstBuffer *buffer); GstBuffer *buffer);
GST_EXPORT
GstFlowReturn gst_proxy_pad_chain_list_default (GstPad *pad, GstObject *parent, GstFlowReturn gst_proxy_pad_chain_list_default (GstPad *pad, GstObject *parent,
GstBufferList *list); GstBufferList *list);
GST_EXPORT
GstFlowReturn gst_proxy_pad_getrange_default (GstPad *pad, GstObject *parent, GstFlowReturn gst_proxy_pad_getrange_default (GstPad *pad, GstObject *parent,
guint64 offset, guint size, guint64 offset, guint size,
GstBuffer **buffer); GstBuffer **buffer);
@ -104,22 +111,34 @@ struct _GstGhostPadClass
}; };
GST_EXPORT
GType gst_ghost_pad_get_type (void); GType gst_ghost_pad_get_type (void);
GST_EXPORT
GstPad* gst_ghost_pad_new (const gchar *name, GstPad *target) G_GNUC_MALLOC; 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; 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; 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; 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); GstPad* gst_ghost_pad_get_target (GstGhostPad *gpad);
GST_EXPORT
gboolean gst_ghost_pad_set_target (GstGhostPad *gpad, GstPad *newtarget); gboolean gst_ghost_pad_set_target (GstGhostPad *gpad, GstPad *newtarget);
GST_EXPORT
gboolean gst_ghost_pad_construct (GstGhostPad *gpad); gboolean gst_ghost_pad_construct (GstGhostPad *gpad);
GST_EXPORT
gboolean gst_ghost_pad_activate_mode_default (GstPad * pad, GstObject * parent, gboolean gst_ghost_pad_activate_mode_default (GstPad * pad, GstObject * parent,
GstPadMode mode, gboolean active); GstPadMode mode, gboolean active);
GST_EXPORT
gboolean gst_ghost_pad_internal_activate_mode_default (GstPad * pad, GstObject * parent, gboolean gst_ghost_pad_internal_activate_mode_default (GstPad * pad, GstObject * parent,
GstPadMode mode, gboolean active); GstPadMode mode, gboolean active);

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -52,7 +52,9 @@ struct _GstProtectionMeta
GstStructure *info; GstStructure *info;
}; };
GST_EXPORT
GType gst_protection_meta_api_get_type (void); GType gst_protection_meta_api_get_type (void);
#define GST_PROTECTION_META_API_TYPE (gst_protection_meta_api_get_type()) #define GST_PROTECTION_META_API_TYPE (gst_protection_meta_api_get_type())
#define gst_buffer_get_protection_meta(b) \ #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()) #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); GstStructure * info);
GST_EXPORT
const gchar *gst_protection_select_system (const gchar ** system_identifiers); const gchar * gst_protection_select_system (const gchar ** system_identifiers);
G_END_DECLS G_END_DECLS
#endif /* __GST_PROTECTION_META_H__ */ #endif /* __GST_PROTECTION_META_H__ */

View file

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

View file

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

View file

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

View file

@ -209,41 +209,67 @@ struct _GstSegment {
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };
GST_EXPORT
GType gst_segment_get_type (void); GType gst_segment_get_type (void);
GST_EXPORT
GstSegment * gst_segment_new (void) G_GNUC_MALLOC; GstSegment * gst_segment_new (void) G_GNUC_MALLOC;
GST_EXPORT
GstSegment * gst_segment_copy (const GstSegment *segment) G_GNUC_MALLOC; GstSegment * gst_segment_copy (const GstSegment *segment) G_GNUC_MALLOC;
GST_EXPORT
void gst_segment_copy_into (const GstSegment *src, GstSegment *dest); void gst_segment_copy_into (const GstSegment *src, GstSegment *dest);
GST_EXPORT
void gst_segment_free (GstSegment *segment); void gst_segment_free (GstSegment *segment);
GST_EXPORT
void gst_segment_init (GstSegment *segment, GstFormat format); 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); 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); 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); 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); 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); 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, gint gst_segment_to_running_time_full (const GstSegment *segment, GstFormat format, guint64 position,
guint64 * running_time); guint64 * running_time);
#ifndef GST_DISABLE_DEPRECATED #ifndef GST_DISABLE_DEPRECATED
GST_EXPORT
guint64 gst_segment_to_position (const GstSegment *segment, GstFormat format, guint64 running_time); guint64 gst_segment_to_position (const GstSegment *segment, GstFormat format, guint64 running_time);
#endif #endif
GST_EXPORT
gint gst_segment_position_from_running_time_full (const GstSegment *segment, GstFormat format, guint64 running_time, guint64 * position); 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); 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); 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); 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, gboolean gst_segment_clip (const GstSegment *segment, GstFormat format, guint64 start,
guint64 stop, guint64 *clip_start, guint64 *clip_stop); guint64 stop, guint64 *clip_start, guint64 *clip_stop);
GST_EXPORT
gboolean gst_segment_do_seek (GstSegment * segment, gdouble rate, gboolean gst_segment_do_seek (GstSegment * segment, gdouble rate,
GstFormat format, GstSeekFlags flags, GstFormat format, GstSeekFlags flags,
GstSeekType start_type, guint64 start, GstSeekType start_type, guint64 start,
GstSeekType stop_type, guint64 stop, gboolean * update); GstSeekType stop_type, guint64 stop, gboolean * update);
GST_EXPORT
gboolean gst_segment_is_equal (const GstSegment * s0, const GstSegment * s1); gboolean gst_segment_is_equal (const GstSegment * s0, const GstSegment * s1);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -31,6 +31,7 @@
G_BEGIN_DECLS G_BEGIN_DECLS
GST_EXPORT GType _gst_toc_type; GST_EXPORT GType _gst_toc_type;
GST_EXPORT GType _gst_toc_entry_type; GST_EXPORT GType _gst_toc_entry_type;
#define GST_TYPE_TOC (_gst_toc_type) #define GST_TYPE_TOC (_gst_toc_type)
@ -127,21 +128,37 @@ typedef enum {
#define GST_TOC_REPEAT_COUNT_INFINITE (-1) #define GST_TOC_REPEAT_COUNT_INFINITE (-1)
/* functions to return type structures */ /* functions to return type structures */
GST_EXPORT
GType gst_toc_get_type (void); GType gst_toc_get_type (void);
GST_EXPORT
GType gst_toc_entry_get_type (void); GType gst_toc_entry_get_type (void);
/* functions to create, ref and unref/free TOCs */ /* functions to create, ref and unref/free TOCs */
GST_EXPORT
GstToc * gst_toc_new (GstTocScope scope); GstToc * gst_toc_new (GstTocScope scope);
GST_EXPORT
GstTocScope gst_toc_get_scope (const GstToc *toc); GstTocScope gst_toc_get_scope (const GstToc *toc);
GST_EXPORT
void gst_toc_set_tags (GstToc *toc, GstTagList * tags); void gst_toc_set_tags (GstToc *toc, GstTagList * tags);
GST_EXPORT
void gst_toc_merge_tags (GstToc *toc, GstTagList *tags, GstTagMergeMode mode); void gst_toc_merge_tags (GstToc *toc, GstTagList *tags, GstTagMergeMode mode);
GST_EXPORT
GstTagList * gst_toc_get_tags (const GstToc *toc); GstTagList * gst_toc_get_tags (const GstToc *toc);
GST_EXPORT
void gst_toc_append_entry (GstToc *toc, GstTocEntry *entry); void gst_toc_append_entry (GstToc *toc, GstTocEntry *entry);
GST_EXPORT
GList * gst_toc_get_entries (const GstToc *toc); GList * gst_toc_get_entries (const GstToc *toc);
GST_EXPORT
void gst_toc_dump (GstToc *toc); void gst_toc_dump (GstToc *toc);
#define gst_toc_ref(toc) (GstToc*)gst_mini_object_ref(GST_MINI_OBJECT_CAST(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)) #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 */ /* functions to create, ref and unref/free TOC entries */
GST_EXPORT
GstTocEntry * gst_toc_entry_new (GstTocEntryType type, const gchar *uid); 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)) #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_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)) #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); GstTocEntry * gst_toc_find_entry (const GstToc *toc, const gchar *uid);
GST_EXPORT
GstTocEntryType gst_toc_entry_get_entry_type (const GstTocEntry *entry); GstTocEntryType gst_toc_entry_get_entry_type (const GstTocEntry *entry);
GST_EXPORT
const gchar * gst_toc_entry_get_uid (const GstTocEntry *entry); const gchar * gst_toc_entry_get_uid (const GstTocEntry *entry);
GST_EXPORT
void gst_toc_entry_append_sub_entry (GstTocEntry *entry, GstTocEntry *subentry); void gst_toc_entry_append_sub_entry (GstTocEntry *entry, GstTocEntry *subentry);
GST_EXPORT
GList * gst_toc_entry_get_sub_entries (const GstTocEntry *entry); GList * gst_toc_entry_get_sub_entries (const GstTocEntry *entry);
GST_EXPORT
void gst_toc_entry_set_tags (GstTocEntry *entry, GstTagList *tags); void gst_toc_entry_set_tags (GstTocEntry *entry, GstTagList *tags);
GST_EXPORT
void gst_toc_entry_merge_tags (GstTocEntry *entry, GstTagList *tags, GstTagMergeMode mode); void gst_toc_entry_merge_tags (GstTocEntry *entry, GstTagList *tags, GstTagMergeMode mode);
GST_EXPORT
GstTagList * gst_toc_entry_get_tags (const GstTocEntry *entry); GstTagList * gst_toc_entry_get_tags (const GstTocEntry *entry);
GST_EXPORT
gboolean gst_toc_entry_is_alternative (const GstTocEntry *entry); gboolean gst_toc_entry_is_alternative (const GstTocEntry *entry);
GST_EXPORT
gboolean gst_toc_entry_is_sequence (const GstTocEntry *entry); 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); 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); 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); 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); 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); GstToc * gst_toc_entry_get_toc (GstTocEntry *entry);
GST_EXPORT
GstTocEntry * gst_toc_entry_get_parent (GstTocEntry *entry); GstTocEntry * gst_toc_entry_get_parent (GstTocEntry *entry);
GST_EXPORT
const gchar * gst_toc_entry_type_get_nick (GstTocEntryType type); const gchar * gst_toc_entry_type_get_nick (GstTocEntryType type);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

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

View file

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

View file

@ -48,7 +48,10 @@ typedef struct _GstTracerFactoryClass GstTracerFactoryClass;
/* tracering interface */ /* tracering interface */
GST_EXPORT
GType gst_tracer_factory_get_type (void); GType gst_tracer_factory_get_type (void);
GST_EXPORT
GList * gst_tracer_factory_get_list (void); 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_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj),GST_TYPE_TRACER_RECORD,GstTracerRecordClass))
#define GST_TRACER_RECORD_CAST(obj) ((GstTracerRecord *)(obj)) #define GST_TRACER_RECORD_CAST(obj) ((GstTracerRecord *)(obj))
GST_EXPORT
GType gst_tracer_record_get_type (void); GType gst_tracer_record_get_type (void);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
@ -87,9 +88,11 @@ typedef enum
#ifdef GST_USE_UNSTABLE_API #ifdef GST_USE_UNSTABLE_API
GST_EXPORT
GstTracerRecord * gst_tracer_record_new (const gchar * name, const gchar * firstfield, ...); GstTracerRecord * gst_tracer_record_new (const gchar * name, const gchar * firstfield, ...);
#ifndef GST_DISABLE_GST_DEBUG #ifndef GST_DISABLE_GST_DEBUG
GST_EXPORT
void gst_tracer_record_log (GstTracerRecord *self, ...); void gst_tracer_record_log (GstTracerRecord *self, ...);
#else #else
#define gst_tracer_record_log(...) G_STMT_START {} G_STMT_END #define gst_tracer_record_log(...) G_STMT_START {} G_STMT_END

View file

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

View file

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

View file

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

View file

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

View file

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