.h: fix header files

Ensure correct indentation and :retab.
Make sure all structures have padding
Fix up some old ABI additions.
This commit is contained in:
Wim Taymans 2011-11-11 16:52:41 +01:00
parent 870a5b0e12
commit 4a7c3b929a
35 changed files with 768 additions and 734 deletions

View file

@ -107,7 +107,7 @@ void gst_segtrap_set_enabled (gboolean enabled);
gboolean gst_registry_fork_is_enabled (void);
void gst_registry_fork_set_enabled (gboolean enabled);
gboolean gst_update_registry (void);
gboolean gst_update_registry (void);
G_END_DECLS

View file

@ -89,6 +89,8 @@ typedef struct _GstBufferPoolParams {
gint64 start;
gint64 stop;
GstBufferPoolFlags flags;
gpointer _gst_reserved[GST_PADDING];
} GstBufferPoolParams;
/**

View file

@ -127,7 +127,8 @@ struct _GstBus
/*< private >*/
GstBusPrivate *priv;
gpointer _gst_reserved[GST_PADDING - 1];
gpointer _gst_reserved[GST_PADDING];
};
struct _GstBusClass

View file

@ -28,10 +28,10 @@
G_BEGIN_DECLS
#define GST_TYPE_CHILD_PROXY (gst_child_proxy_get_type ())
#define GST_CHILD_PROXY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_CHILD_PROXY, GstChildProxy))
#define GST_IS_CHILD_PROXY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_CHILD_PROXY))
#define GST_CHILD_PROXY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GST_TYPE_CHILD_PROXY, GstChildProxyInterface))
#define GST_TYPE_CHILD_PROXY (gst_child_proxy_get_type ())
#define GST_CHILD_PROXY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_CHILD_PROXY, GstChildProxy))
#define GST_IS_CHILD_PROXY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_CHILD_PROXY))
#define GST_CHILD_PROXY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GST_TYPE_CHILD_PROXY, GstChildProxyInterface))
/**
* GstChildProxy:
@ -54,12 +54,12 @@ struct _GstChildProxyInterface
GTypeInterface parent;
/* methods */
GstObject *(*get_child_by_index) (GstChildProxy * parent, guint index);
guint (*get_children_count) (GstChildProxy * parent);
GstObject * (*get_child_by_index) (GstChildProxy * parent, guint index);
guint (*get_children_count) (GstChildProxy * parent);
/*< private >*/
/* signals */
void (*child_added) (GstChildProxy * parent, GstObject * child);
void (*child_removed) (GstChildProxy * parent, GstObject * child);
void (*child_added) (GstChildProxy * parent, GstObject * child);
void (*child_removed) (GstChildProxy * parent, GstObject * child);
/*< private >*/
gpointer _gst_reserved[GST_PADDING];
@ -67,24 +67,34 @@ struct _GstChildProxyInterface
GType gst_child_proxy_get_type (void);
GstObject *gst_child_proxy_get_child_by_name (GstChildProxy * parent, const gchar * name);
GstObject *gst_child_proxy_get_child_by_index (GstChildProxy * parent, guint index);
guint gst_child_proxy_get_children_count (GstChildProxy * parent);
GstObject * gst_child_proxy_get_child_by_name (GstChildProxy * parent, const gchar * name);
gboolean gst_child_proxy_lookup (GstObject *object, const gchar *name,
GstObject **target, GParamSpec **pspec);
void gst_child_proxy_get_property (GstObject * object, const gchar *name, GValue *value);
void gst_child_proxy_get_valist (GstObject * object,
const gchar * first_property_name, va_list var_args);
void gst_child_proxy_get (GstObject * object, const gchar * first_property_name,
...) G_GNUC_NULL_TERMINATED;
void gst_child_proxy_set_property (GstObject * object, const gchar *name, const GValue *value);
void gst_child_proxy_set_valist (GstObject* object,
const gchar * first_property_name, va_list var_args);
void gst_child_proxy_set (GstObject * object, const gchar * first_property_name,
...) G_GNUC_NULL_TERMINATED;
void gst_child_proxy_child_added (GstObject * object, GstObject * child);
void gst_child_proxy_child_removed (GstObject * object, GstObject * child);
guint gst_child_proxy_get_children_count (GstChildProxy * parent);
GstObject * gst_child_proxy_get_child_by_index (GstChildProxy * parent, guint index);
gboolean gst_child_proxy_lookup (GstObject *object, const gchar *name,
GstObject **target, GParamSpec **pspec);
void gst_child_proxy_get_property (GstObject * object, const gchar *name,
GValue *value);
void gst_child_proxy_get_valist (GstObject * object,
const gchar * first_property_name,
va_list var_args);
void gst_child_proxy_get (GstObject * object,
const gchar * first_property_name,
...) G_GNUC_NULL_TERMINATED;
void gst_child_proxy_set_property (GstObject * object, const gchar *name,
const GValue *value);
void gst_child_proxy_set_valist (GstObject* object,
const gchar * first_property_name,
va_list var_args);
void gst_child_proxy_set (GstObject * object,
const gchar * first_property_name,
...) G_GNUC_NULL_TERMINATED;
void gst_child_proxy_child_added (GstObject * object, GstObject * child);
void gst_child_proxy_child_removed (GstObject * object, GstObject * child);
G_END_DECLS

View file

@ -140,13 +140,13 @@ struct _GstClockPrivate
/* seqlocks */
#define read_seqbegin(clock) \
g_atomic_int_get (&clock->ABI.priv->post_count);
g_atomic_int_get (&clock->priv->post_count);
static inline gboolean
read_seqretry (GstClock * clock, gint seq)
{
/* no retry if the seqnum did not change */
if (G_LIKELY (seq == g_atomic_int_get (&clock->ABI.priv->pre_count)))
if (G_LIKELY (seq == g_atomic_int_get (&clock->priv->pre_count)))
return FALSE;
/* wait for the writer to finish and retry */
@ -158,12 +158,12 @@ read_seqretry (GstClock * clock, gint seq)
#define write_seqlock(clock) \
G_STMT_START { \
GST_OBJECT_LOCK (clock); \
g_atomic_int_inc (&clock->ABI.priv->pre_count); \
g_atomic_int_inc (&clock->priv->pre_count); \
} G_STMT_END;
#define write_sequnlock(clock) \
G_STMT_START { \
g_atomic_int_inc (&clock->ABI.priv->post_count); \
g_atomic_int_inc (&clock->priv->post_count); \
GST_OBJECT_UNLOCK (clock); \
} G_STMT_END;
@ -695,7 +695,7 @@ gst_clock_init (GstClock * clock)
clock->entries_changed = g_cond_new ();
clock->stats = FALSE;
clock->ABI.priv =
clock->priv =
G_TYPE_INSTANCE_GET_PRIVATE (clock, GST_TYPE_CLOCK, GstClockPrivate);
clock->internal_calibration = 0;

View file

@ -27,23 +27,23 @@
G_BEGIN_DECLS
/* --- standard type macros --- */
#define GST_TYPE_CLOCK (gst_clock_get_type ())
#define GST_CLOCK(clock) (G_TYPE_CHECK_INSTANCE_CAST ((clock), GST_TYPE_CLOCK, GstClock))
#define GST_IS_CLOCK(clock) (G_TYPE_CHECK_INSTANCE_TYPE ((clock), GST_TYPE_CLOCK))
#define GST_CLOCK_CLASS(cclass) (G_TYPE_CHECK_CLASS_CAST ((cclass), GST_TYPE_CLOCK, GstClockClass))
#define GST_IS_CLOCK_CLASS(cclass) (G_TYPE_CHECK_CLASS_TYPE ((cclass), GST_TYPE_CLOCK))
#define GST_CLOCK_GET_CLASS(clock) (G_TYPE_INSTANCE_GET_CLASS ((clock), GST_TYPE_CLOCK, GstClockClass))
#define GST_CLOCK_CAST(clock) ((GstClock*)(clock))
#define GST_TYPE_CLOCK (gst_clock_get_type ())
#define GST_CLOCK(clock) (G_TYPE_CHECK_INSTANCE_CAST ((clock), GST_TYPE_CLOCK, GstClock))
#define GST_IS_CLOCK(clock) (G_TYPE_CHECK_INSTANCE_TYPE ((clock), GST_TYPE_CLOCK))
#define GST_CLOCK_CLASS(cclass) (G_TYPE_CHECK_CLASS_CAST ((cclass), GST_TYPE_CLOCK, GstClockClass))
#define GST_IS_CLOCK_CLASS(cclass) (G_TYPE_CHECK_CLASS_TYPE ((cclass), GST_TYPE_CLOCK))
#define GST_CLOCK_GET_CLASS(clock) (G_TYPE_INSTANCE_GET_CLASS ((clock), GST_TYPE_CLOCK, GstClockClass))
#define GST_CLOCK_CAST(clock) ((GstClock*)(clock))
#define GST_CLOCK_SLAVE_LOCK(clock) g_mutex_lock (GST_CLOCK_CAST (clock)->slave_lock)
#define GST_CLOCK_SLAVE_UNLOCK(clock) g_mutex_unlock (GST_CLOCK_CAST (clock)->slave_lock)
#define GST_CLOCK_SLAVE_LOCK(clock) g_mutex_lock (GST_CLOCK_CAST (clock)->slave_lock)
#define GST_CLOCK_SLAVE_UNLOCK(clock) g_mutex_unlock (GST_CLOCK_CAST (clock)->slave_lock)
/**
* GstClockTime:
*
* A datatype to hold a time, measured in nanoseconds.
*/
typedef guint64 GstClockTime;
typedef guint64 GstClockTime;
/**
* GST_TYPE_CLOCK_TIME:
@ -70,21 +70,21 @@ typedef gpointer GstClockID;
*
* Constant to define an undefined clock time.
*/
#define GST_CLOCK_TIME_NONE ((GstClockTime) -1)
#define GST_CLOCK_TIME_NONE ((GstClockTime) -1)
/**
* GST_CLOCK_TIME_IS_VALID:
* @time: clock time to validate
*
* Tests if a given #GstClockTime represents a valid defined time.
*/
#define GST_CLOCK_TIME_IS_VALID(time) (((GstClockTime)(time)) != GST_CLOCK_TIME_NONE)
#define GST_CLOCK_TIME_IS_VALID(time) (((GstClockTime)(time)) != GST_CLOCK_TIME_NONE)
/* FIXME: still need to explicitly force types on the defines below */
/**
* GST_SECOND:
*
* Constant that defines one GStreamer second.
*
*
* Value: 1000000000
*
*/
@ -93,27 +93,27 @@ typedef gpointer GstClockID;
* GST_MSECOND:
*
* Constant that defines one GStreamer millisecond.
*
*
* Value: 1000000
*
*
*/
#define GST_MSECOND (GST_SECOND / G_GINT64_CONSTANT (1000))
/**
* GST_USECOND:
*
* Constant that defines one GStreamer microsecond.
*
*
* Value: 1000
*
*
*/
#define GST_USECOND (GST_SECOND / G_GINT64_CONSTANT (1000000))
/**
* GST_NSECOND:
*
* Constant that defines one GStreamer nanosecond
*
*
* Value: 1
*
*
*/
#define GST_NSECOND (GST_SECOND / G_GINT64_CONSTANT (1000000000))
@ -163,7 +163,7 @@ typedef gpointer GstClockID;
* Calculate a difference between two clock times as a #GstClockTimeDiff.
* The difference is calculated as @e - @s.
*/
#define GST_CLOCK_DIFF(s, e) (GstClockTimeDiff)((e) - (s))
#define GST_CLOCK_DIFF(s, e) (GstClockTimeDiff)((e) - (s))
/**
* GST_TIMEVAL_TO_TIME:
@ -171,7 +171,7 @@ typedef gpointer GstClockID;
*
* Convert a #GTimeVal to a #GstClockTime.
*/
#define GST_TIMEVAL_TO_TIME(tv) (GstClockTime)((tv).tv_sec * GST_SECOND + (tv).tv_usec * GST_USECOND)
#define GST_TIMEVAL_TO_TIME(tv) (GstClockTime)((tv).tv_sec * GST_SECOND + (tv).tv_usec * GST_USECOND)
/**
* GST_TIME_TO_TIMEVAL:
@ -184,12 +184,12 @@ typedef gpointer GstClockID;
* which is about 68 years. Expect trouble if you want to schedule stuff
* in your pipeline for 2038.</note>
*/
#define GST_TIME_TO_TIMEVAL(t,tv) \
G_STMT_START { \
(tv).tv_sec = ((GstClockTime) (t)) / GST_SECOND; \
(tv).tv_usec = (((GstClockTime) (t)) - \
((GstClockTime) (tv).tv_sec) * GST_SECOND) \
/ GST_USECOND; \
#define GST_TIME_TO_TIMEVAL(t,tv) \
G_STMT_START { \
(tv).tv_sec = ((GstClockTime) (t)) / GST_SECOND; \
(tv).tv_usec = (((GstClockTime) (t)) - \
((GstClockTime) (tv).tv_sec) * GST_SECOND) \
/ GST_USECOND; \
} G_STMT_END
/**
@ -198,7 +198,7 @@ G_STMT_START { \
*
* Convert a struct timespec (see man pselect) to a #GstClockTime.
*/
#define GST_TIMESPEC_TO_TIME(ts) (GstClockTime)((ts).tv_sec * GST_SECOND + (ts).tv_nsec * GST_NSECOND)
#define GST_TIMESPEC_TO_TIME(ts) (GstClockTime)((ts).tv_sec * GST_SECOND + (ts).tv_nsec * GST_NSECOND)
/**
* GST_TIME_TO_TIMESPEC:
* @t: The #GstClockTime to convert
@ -206,10 +206,10 @@ G_STMT_START { \
*
* Convert a #GstClockTime to a struct timespec (see man pselect)
*/
#define GST_TIME_TO_TIMESPEC(t,ts) \
G_STMT_START { \
(ts).tv_sec = (t) / GST_SECOND; \
(ts).tv_nsec = ((t) - (ts).tv_sec * GST_SECOND) / GST_NSECOND; \
#define GST_TIME_TO_TIMESPEC(t,ts) \
G_STMT_START { \
(ts).tv_sec = (t) / GST_SECOND; \
(ts).tv_nsec = ((t) - (ts).tv_sec * GST_SECOND) / GST_NSECOND; \
} G_STMT_END
/* timestamp debugging macros */
@ -250,10 +250,10 @@ G_STMT_START { \
*/
#define GST_CLOCK_ENTRY_TRACE_NAME "GstClockEntry"
typedef struct _GstClockEntry GstClockEntry;
typedef struct _GstClock GstClock;
typedef struct _GstClockClass GstClockClass;
typedef struct _GstClockPrivate GstClockPrivate;
typedef struct _GstClockEntry GstClockEntry;
typedef struct _GstClock GstClock;
typedef struct _GstClockClass GstClockClass;
typedef struct _GstClockPrivate GstClockPrivate;
/* --- prototype for async callbacks --- */
/**
@ -267,8 +267,8 @@ typedef struct _GstClockPrivate GstClockPrivate;
*
* Returns: %TRUE or %FALSE (currently unused)
*/
typedef gboolean (*GstClockCallback) (GstClock *clock, GstClockTime time,
GstClockID id, gpointer user_data);
typedef gboolean (*GstClockCallback) (GstClock *clock, GstClockTime time,
GstClockID id, gpointer user_data);
/**
* GstClockReturn:
* @GST_CLOCK_OK: The operation succeeded.
@ -284,14 +284,14 @@ typedef gboolean (*GstClockCallback) (GstClock *clock, GstClockTime time,
*/
typedef enum
{
GST_CLOCK_OK = 0,
GST_CLOCK_EARLY = 1,
GST_CLOCK_UNSCHEDULED = 2,
GST_CLOCK_BUSY = 3,
GST_CLOCK_BADTIME = 4,
GST_CLOCK_ERROR = 5,
GST_CLOCK_UNSUPPORTED = 6,
GST_CLOCK_DONE = 7
GST_CLOCK_OK = 0,
GST_CLOCK_EARLY = 1,
GST_CLOCK_UNSCHEDULED = 2,
GST_CLOCK_BUSY = 3,
GST_CLOCK_BADTIME = 4,
GST_CLOCK_ERROR = 5,
GST_CLOCK_UNSUPPORTED = 6,
GST_CLOCK_DONE = 7
} GstClockReturn;
/**
@ -312,42 +312,42 @@ typedef enum {
*
* Cast to a clock entry
*/
#define GST_CLOCK_ENTRY(entry) ((GstClockEntry *)(entry))
#define GST_CLOCK_ENTRY(entry) ((GstClockEntry *)(entry))
/**
* GST_CLOCK_ENTRY_CLOCK:
* @entry: the entry to query
*
* Get the owner clock of the entry
*/
#define GST_CLOCK_ENTRY_CLOCK(entry) ((entry)->clock)
#define GST_CLOCK_ENTRY_CLOCK(entry) ((entry)->clock)
/**
* GST_CLOCK_ENTRY_TYPE:
* @entry: the entry to query
*
* Get the type of the clock entry
*/
#define GST_CLOCK_ENTRY_TYPE(entry) ((entry)->type)
#define GST_CLOCK_ENTRY_TYPE(entry) ((entry)->type)
/**
* GST_CLOCK_ENTRY_TIME:
* @entry: the entry to query
*
* Get the requested time of this entry
*/
#define GST_CLOCK_ENTRY_TIME(entry) ((entry)->time)
#define GST_CLOCK_ENTRY_TIME(entry) ((entry)->time)
/**
* GST_CLOCK_ENTRY_INTERVAL:
* @entry: the entry to query
*
* Get the interval of this periodic entry
*/
#define GST_CLOCK_ENTRY_INTERVAL(entry) ((entry)->interval)
#define GST_CLOCK_ENTRY_INTERVAL(entry) ((entry)->interval)
/**
* GST_CLOCK_ENTRY_STATUS:
* @entry: the entry to query
*
* The status of the entry
*/
#define GST_CLOCK_ENTRY_STATUS(entry) ((entry)->status)
#define GST_CLOCK_ENTRY_STATUS(entry) ((entry)->status)
/**
* GstClockEntry:
@ -359,18 +359,20 @@ typedef enum {
* not be extended or allocated using a custom allocator.
*/
struct _GstClockEntry {
gint refcount;
gint refcount;
/*< protected >*/
GstClock *clock;
GstClockEntryType type;
GstClockTime time;
GstClockTime interval;
GstClockReturn status;
GstClockCallback func;
gpointer user_data;
GDestroyNotify destroy_data;
GstClock *clock;
GstClockEntryType type;
GstClockTime time;
GstClockTime interval;
GstClockReturn status;
GstClockCallback func;
gpointer user_data;
GDestroyNotify destroy_data;
gboolean unscheduled;
gboolean woken_up;
gpointer _gst_reserved[GST_PADDING];
};
#include <gst/gstobject.h>
@ -395,7 +397,7 @@ typedef enum {
GST_CLOCK_FLAG_CAN_SET_RESOLUTION = (GST_OBJECT_FLAG_LAST << 4),
GST_CLOCK_FLAG_CAN_SET_MASTER = (GST_OBJECT_FLAG_LAST << 5),
/* padding */
GST_CLOCK_FLAG_LAST = (GST_OBJECT_FLAG_LAST << 8)
GST_CLOCK_FLAG_LAST = (GST_OBJECT_FLAG_LAST << 8)
} GstClockFlags;
/**
@ -445,22 +447,22 @@ typedef enum {
* protected for subclasses, use the methods to use the #GstClock.
*/
struct _GstClock {
GstObject object;
GstObject object;
GMutex *slave_lock; /* order: SLAVE_LOCK, OBJECT_LOCK */
GMutex *slave_lock; /* order: SLAVE_LOCK, OBJECT_LOCK */
/*< protected >*/ /* with LOCK */
GstClockTime internal_calibration;
GstClockTime external_calibration;
GstClockTime rate_numerator;
GstClockTime rate_denominator;
GstClockTime last_time;
GList *entries;
GCond *entries_changed;
GstClockTime internal_calibration;
GstClockTime external_calibration;
GstClockTime rate_numerator;
GstClockTime rate_denominator;
GstClockTime last_time;
GList *entries;
GCond *entries_changed;
/*< private >*/ /* with LOCK */
GstClockTime resolution;
gboolean stats;
GstClockTime resolution;
gboolean stats;
/* for master/slave clocks */
GstClock *master;
@ -475,10 +477,9 @@ struct _GstClock {
GstClockID clockid;
/*< private >*/
union {
GstClockPrivate *priv;
GstClockTime _gst_reserved[GST_PADDING];
} ABI;
GstClockPrivate *priv;
gpointer _gst_reserved[GST_PADDING];
};
/**
@ -504,83 +505,83 @@ struct _GstClockClass {
/* vtable */
GstClockTime (*change_resolution) (GstClock *clock,
GstClockTime old_resolution,
GstClockTime new_resolution);
GstClockTime new_resolution);
GstClockTime (*get_resolution) (GstClock *clock);
GstClockTime (*get_internal_time) (GstClock *clock);
GstClockTime (*get_internal_time) (GstClock *clock);
/* waiting on an ID */
GstClockReturn (*wait) (GstClock *clock, GstClockEntry *entry,
GstClockTimeDiff *jitter);
GstClockTimeDiff *jitter);
GstClockReturn (*wait_async) (GstClock *clock, GstClockEntry *entry);
void (*unschedule) (GstClock *clock, GstClockEntry *entry);
void (*unschedule) (GstClock *clock, GstClockEntry *entry);
/*< private >*/
gpointer _gst_reserved[GST_PADDING];
};
GType gst_clock_get_type (void);
GType gst_clock_get_type (void);
GstClockTime gst_clock_set_resolution (GstClock *clock,
GstClockTime gst_clock_set_resolution (GstClock *clock,
GstClockTime resolution);
GstClockTime gst_clock_get_resolution (GstClock *clock);
GstClockTime gst_clock_get_resolution (GstClock *clock);
GstClockTime gst_clock_get_time (GstClock *clock);
void gst_clock_set_calibration (GstClock *clock, GstClockTime internal,
GstClockTime gst_clock_get_time (GstClock *clock);
void gst_clock_set_calibration (GstClock *clock, GstClockTime internal,
GstClockTime external,
GstClockTime rate_num,
GstClockTime rate_denom);
void gst_clock_get_calibration (GstClock *clock, GstClockTime *internal,
void gst_clock_get_calibration (GstClock *clock, GstClockTime *internal,
GstClockTime *external,
GstClockTime *rate_num,
GstClockTime *rate_denom);
/* master/slave clocks */
gboolean gst_clock_set_master (GstClock *clock, GstClock *master);
GstClock* gst_clock_get_master (GstClock *clock);
gboolean gst_clock_add_observation (GstClock *clock, GstClockTime slave,
GstClockTime master, gdouble *r_squared);
gboolean gst_clock_set_master (GstClock *clock, GstClock *master);
GstClock* gst_clock_get_master (GstClock *clock);
gboolean gst_clock_add_observation (GstClock *clock, GstClockTime slave,
GstClockTime master, gdouble *r_squared);
/* getting and adjusting internal/external time */
GstClockTime gst_clock_get_internal_time (GstClock *clock);
GstClockTime gst_clock_adjust_unlocked (GstClock *clock, GstClockTime internal);
GstClockTime gst_clock_get_internal_time (GstClock *clock);
GstClockTime gst_clock_adjust_unlocked (GstClock *clock, GstClockTime internal);
GstClockTime gst_clock_unadjust_unlocked (GstClock * clock, GstClockTime external);
/* creating IDs that can be used to get notifications */
GstClockID gst_clock_new_single_shot_id (GstClock *clock,
GstClockTime time);
GstClockID gst_clock_new_periodic_id (GstClock *clock,
GstClockTime start_time,
GstClockTime interval);
GstClockID gst_clock_new_single_shot_id (GstClock *clock,
GstClockTime time);
GstClockID gst_clock_new_periodic_id (GstClock *clock,
GstClockTime start_time,
GstClockTime interval);
/* reference counting */
GstClockID gst_clock_id_ref (GstClockID id);
void gst_clock_id_unref (GstClockID id);
/* operations on IDs */
gint gst_clock_id_compare_func (gconstpointer id1, gconstpointer id2);
gint gst_clock_id_compare_func (gconstpointer id1, gconstpointer id2);
GstClockTime gst_clock_id_get_time (GstClockID id);
GstClockReturn gst_clock_id_wait (GstClockID id,
GstClockTimeDiff *jitter);
GstClockReturn gst_clock_id_wait_async (GstClockID id,
GstClockCallback func,
gpointer user_data);
GstClockReturn gst_clock_id_wait_async_full (GstClockID id,
GstClockCallback func,
gpointer user_data,
GDestroyNotify destroy_data);
void gst_clock_id_unschedule (GstClockID id);
GstClockTime gst_clock_id_get_time (GstClockID id);
GstClockReturn gst_clock_id_wait (GstClockID id,
GstClockTimeDiff *jitter);
GstClockReturn gst_clock_id_wait_async (GstClockID id,
GstClockCallback func,
gpointer user_data);
GstClockReturn gst_clock_id_wait_async_full (GstClockID id,
GstClockCallback func,
gpointer user_data,
GDestroyNotify destroy_data);
void gst_clock_id_unschedule (GstClockID id);
gboolean gst_clock_single_shot_id_reinit (GstClock * clock,
GstClockID id,
GstClockTime time);
GstClockID id,
GstClockTime time);
gboolean gst_clock_periodic_id_reinit (GstClock * clock,
GstClockID id,
GstClockTime start_time,
GstClockTime interval);
GstClockID id,
GstClockTime start_time,
GstClockTime interval);
G_END_DECLS

View file

@ -59,7 +59,7 @@ typedef struct _GstValueArray GstValueArray;
struct _GstTimedValue
{
GstClockTime timestamp;
GValue value;
GValue value;
};
/**
@ -74,12 +74,12 @@ struct _GstTimedValue
struct _GstValueArray
{
const gchar *property_name;
gint nbsamples;
gint nbsamples;
GstClockTime sample_interval;
gpointer *values;
};
/**
/**
* GstControlSourceGetValue
* @self: the #GstControlSource instance
* @timestamp: timestamp for which a value should be calculated
@ -92,7 +92,7 @@ struct _GstValueArray
*/
typedef gboolean (* GstControlSourceGetValue) (GstControlSource *self, GstClockTime timestamp, GValue *value);
/**
/**
* GstControlSourceGetValueArray
* @self: the #GstControlSource instance
* @timestamp: timestamp for which a value should be calculated
@ -105,7 +105,7 @@ typedef gboolean (* GstControlSourceGetValue) (GstControlSource *self, GstClockT
*/
typedef gboolean (* GstControlSourceGetValueArray) (GstControlSource *self, GstClockTime timestamp, GstValueArray *value_array);
/**
/**
* GstControlSourceBind
* @self: the #GstControlSource instance
* @pspec: #GParamSpec that should be bound to
@ -146,7 +146,7 @@ struct _GstControlSource {
struct _GstControlSourceClass
{
GObjectClass parent_class;
GstControlSourceBind bind; /* Binds the GstControlSource to a specific GParamSpec */
/*< private >*/
@ -156,10 +156,12 @@ struct _GstControlSourceClass
GType gst_control_source_get_type (void);
/* Functions */
gboolean gst_control_source_get_value (GstControlSource *self, GstClockTime timestamp,
GValue *value);
gboolean gst_control_source_get_value_array (GstControlSource *self, GstClockTime timestamp,
GstValueArray *value_array);
gboolean gst_control_source_get_value (GstControlSource *self, GstClockTime timestamp, GValue *value);
gboolean gst_control_source_get_value_array (GstControlSource *self, GstClockTime timestamp, GstValueArray *value_array);
gboolean gst_control_source_bind (GstControlSource *self, GParamSpec *pspec);
gboolean gst_control_source_bind (GstControlSource *self, GParamSpec *pspec);
G_END_DECLS

View file

@ -36,31 +36,31 @@ G_BEGIN_DECLS
*/
typedef struct _GstDateTime GstDateTime;
gint gst_date_time_get_year (const GstDateTime * datetime);
gint gst_date_time_get_month (const GstDateTime * datetime);
gint gst_date_time_get_day (const GstDateTime * datetime);
gint gst_date_time_get_hour (const GstDateTime * datetime);
gint gst_date_time_get_minute (const GstDateTime * datetime);
gint gst_date_time_get_second (const GstDateTime * datetime);
gint gst_date_time_get_microsecond (const GstDateTime * datetime);
gfloat gst_date_time_get_time_zone_offset (const GstDateTime * datetime);
gint gst_date_time_get_year (const GstDateTime * datetime);
gint gst_date_time_get_month (const GstDateTime * datetime);
gint gst_date_time_get_day (const GstDateTime * datetime);
gint gst_date_time_get_hour (const GstDateTime * datetime);
gint gst_date_time_get_minute (const GstDateTime * datetime);
gint gst_date_time_get_second (const GstDateTime * datetime);
gint gst_date_time_get_microsecond (const GstDateTime * datetime);
gfloat gst_date_time_get_time_zone_offset (const GstDateTime * datetime);
GstDateTime *gst_date_time_new_from_unix_epoch_local_time (gint64 secs);
GstDateTime *gst_date_time_new_from_unix_epoch_utc (gint64 secs);
GstDateTime *gst_date_time_new_local_time (gint year, gint month,
gint day, gint hour,
gint minute,
gdouble seconds);
GstDateTime *gst_date_time_new (gfloat tzoffset,
gint year, gint month,
gint day, gint hour,
gint minute,
gdouble seconds);
GstDateTime *gst_date_time_new_now_local_time (void);
GstDateTime *gst_date_time_new_now_utc (void);
GstDateTime * gst_date_time_new_from_unix_epoch_local_time (gint64 secs);
GstDateTime * gst_date_time_new_from_unix_epoch_utc (gint64 secs);
GstDateTime * gst_date_time_new_local_time (gint year, gint month,
gint day, gint hour,
gint minute,
gdouble seconds);
GstDateTime * gst_date_time_new (gfloat tzoffset,
gint year, gint month,
gint day, gint hour,
gint minute,
gdouble seconds);
GstDateTime * gst_date_time_new_now_local_time (void);
GstDateTime * gst_date_time_new_now_utc (void);
GstDateTime *gst_date_time_ref (GstDateTime * datetime);
void gst_date_time_unref (GstDateTime * datetime);
GstDateTime * gst_date_time_ref (GstDateTime * datetime);
void gst_date_time_unref (GstDateTime * datetime);
G_END_DECLS
#endif /* __GST_DATE_TIME_H__ */

View file

@ -254,7 +254,7 @@ typedef enum {
* Sinks unblock any #GstClock wait calls.
* </para></listitem>
* <listitem><para>
* When a sink does not have a pending buffer to play, it returns
* When a sink does not have a pending buffer to play, it returns
* %GST_STATE_CHANGE_ASYNC from this state change and completes the state
* change when it receives a new buffer or an %GST_EVENT_EOS.
* </para></listitem>
@ -673,7 +673,7 @@ void gst_element_class_set_metadata (GstElementClass
const gchar *author);
void gst_element_class_add_metadata (GstElementClass * klass,
const gchar * key, const gchar * value);
const gchar * gst_element_class_get_metadata (GstElementClass * klass,
const gchar * gst_element_class_get_metadata (GstElementClass * klass,
const gchar * key);

View file

@ -56,7 +56,7 @@ struct _GstElementFactory {
GType type; /* unique GType of element or 0 if not loaded */
gpointer metadata;
gpointer metadata;
GList * staticpadtemplates; /* GstStaticPadTemplate list */
guint numpadtemplates;
@ -167,7 +167,7 @@ typedef guint64 GstElementFactoryListType;
* Elements matching any of the defined GST_ELEMENT_FACTORY_TYPE_MEDIA types
*
* Note: Do not use this if you wish to not filter against any of the defined
* media types. If you wish to do this, simply don't specify any
* media types. If you wish to do this, simply don't specify any
* GST_ELEMENT_FACTORY_TYPE_MEDIA flag.
*
* Since: 0.10.31
@ -212,33 +212,33 @@ typedef guint64 GstElementFactoryListType;
(GST_ELEMENT_FACTORY_TYPE_DECODER | GST_ELEMENT_FACTORY_TYPE_DEMUXER | GST_ELEMENT_FACTORY_TYPE_DEPAYLOADER | GST_ELEMENT_FACTORY_TYPE_PARSER)
/* Element klass defines */
#define GST_ELEMENT_FACTORY_KLASS_DECODER "Decoder"
#define GST_ELEMENT_FACTORY_KLASS_ENCODER "Encoder"
#define GST_ELEMENT_FACTORY_KLASS_SINK "Sink"
#define GST_ELEMENT_FACTORY_KLASS_SRC "Source"
#define GST_ELEMENT_FACTORY_KLASS_MUXER "Muxer"
#define GST_ELEMENT_FACTORY_KLASS_DEMUXER "Demuxer"
#define GST_ELEMENT_FACTORY_KLASS_PARSER "Parser"
#define GST_ELEMENT_FACTORY_KLASS_PAYLOADER "Payloader"
#define GST_ELEMENT_FACTORY_KLASS_DEPAYLOADER "Depayloader"
#define GST_ELEMENT_FACTORY_KLASS_FORMATTER "Formatter"
#define GST_ELEMENT_FACTORY_KLASS_DECODER "Decoder"
#define GST_ELEMENT_FACTORY_KLASS_ENCODER "Encoder"
#define GST_ELEMENT_FACTORY_KLASS_SINK "Sink"
#define GST_ELEMENT_FACTORY_KLASS_SRC "Source"
#define GST_ELEMENT_FACTORY_KLASS_MUXER "Muxer"
#define GST_ELEMENT_FACTORY_KLASS_DEMUXER "Demuxer"
#define GST_ELEMENT_FACTORY_KLASS_PARSER "Parser"
#define GST_ELEMENT_FACTORY_KLASS_PAYLOADER "Payloader"
#define GST_ELEMENT_FACTORY_KLASS_DEPAYLOADER "Depayloader"
#define GST_ELEMENT_FACTORY_KLASS_FORMATTER "Formatter"
#define GST_ELEMENT_FACTORY_KLASS_MEDIA_VIDEO "Video"
#define GST_ELEMENT_FACTORY_KLASS_MEDIA_AUDIO "Audio"
#define GST_ELEMENT_FACTORY_KLASS_MEDIA_IMAGE "Image"
#define GST_ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE "Subtitle"
#define GST_ELEMENT_FACTORY_KLASS_MEDIA_METADATA "Metadata"
#define GST_ELEMENT_FACTORY_KLASS_MEDIA_VIDEO "Video"
#define GST_ELEMENT_FACTORY_KLASS_MEDIA_AUDIO "Audio"
#define GST_ELEMENT_FACTORY_KLASS_MEDIA_IMAGE "Image"
#define GST_ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE "Subtitle"
#define GST_ELEMENT_FACTORY_KLASS_MEDIA_METADATA "Metadata"
gboolean gst_element_factory_list_is_type (GstElementFactory *factory,
GstElementFactoryListType type);
GstElementFactoryListType type);
GList * gst_element_factory_list_get_elements (GstElementFactoryListType type,
GstRank minrank);
GstRank minrank);
GList * gst_element_factory_list_filter (GList *list, const GstCaps *caps,
GstPadDirection direction,
gboolean subsetonly);
GstPadDirection direction,
gboolean subsetonly);
G_END_DECLS
#endif /* __GST_ELEMENT_FACTORY_H__ */

View file

@ -50,12 +50,12 @@ G_BEGIN_DECLS
/* NOTE: don't forget to update the table in gstformat.c when changing
* this enum */
typedef enum {
GST_FORMAT_UNDEFINED = 0, /* must be first in list */
GST_FORMAT_DEFAULT = 1,
GST_FORMAT_BYTES = 2,
GST_FORMAT_TIME = 3,
GST_FORMAT_BUFFERS = 4,
GST_FORMAT_PERCENT = 5
GST_FORMAT_UNDEFINED = 0, /* must be first in list */
GST_FORMAT_DEFAULT = 1,
GST_FORMAT_BYTES = 2,
GST_FORMAT_TIME = 3,
GST_FORMAT_BUFFERS = 4,
GST_FORMAT_PERCENT = 5
} GstFormat;
/* a percentage is always relative to 1000000 */
@ -64,14 +64,14 @@ typedef enum {
*
* The PERCENT format is between 0 and this value
*/
#define GST_FORMAT_PERCENT_MAX G_GINT64_CONSTANT (1000000)
#define GST_FORMAT_PERCENT_MAX G_GINT64_CONSTANT (1000000)
/**
* GST_FORMAT_PERCENT_SCALE:
*
* The value used to scale down the reported PERCENT format value to
* its real value.
*/
#define GST_FORMAT_PERCENT_SCALE G_GINT64_CONSTANT (10000)
#define GST_FORMAT_PERCENT_SCALE G_GINT64_CONSTANT (10000)
typedef struct _GstFormatDefinition GstFormatDefinition;
@ -96,17 +96,17 @@ const gchar* gst_format_get_name (GstFormat format);
GQuark gst_format_to_quark (GstFormat format);
/* register a new format */
GstFormat gst_format_register (const gchar *nick,
const gchar *description);
GstFormat gst_format_get_by_nick (const gchar *nick);
GstFormat gst_format_register (const gchar *nick,
const gchar *description);
GstFormat gst_format_get_by_nick (const gchar *nick);
/* check if a format is in an array of formats */
gboolean gst_formats_contains (const GstFormat *formats, GstFormat format);
gboolean gst_formats_contains (const GstFormat *formats, GstFormat format);
/* query for format details */
const GstFormatDefinition*
gst_format_get_details (GstFormat format);
GstIterator* gst_format_iterate_definitions (void);
gst_format_get_details (GstFormat format);
GstIterator* gst_format_iterate_definitions (void);
G_END_DECLS

View file

@ -72,12 +72,12 @@ GstCaps* gst_proxy_pad_getcaps_default (GstPad *pad, G
gboolean gst_proxy_pad_acceptcaps_default (GstPad *pad, GstCaps *caps);
void gst_proxy_pad_unlink_default (GstPad * pad);
#define GST_TYPE_GHOST_PAD (gst_ghost_pad_get_type ())
#define GST_IS_GHOST_PAD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_GHOST_PAD))
#define GST_IS_GHOST_PAD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_GHOST_PAD))
#define GST_GHOST_PAD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_GHOST_PAD, GstGhostPad))
#define GST_GHOST_PAD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_GHOST_PAD, GstGhostPadClass))
#define GST_GHOST_PAD_CAST(obj) ((GstGhostPad*)(obj))
#define GST_TYPE_GHOST_PAD (gst_ghost_pad_get_type ())
#define GST_IS_GHOST_PAD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_GHOST_PAD))
#define GST_IS_GHOST_PAD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_GHOST_PAD))
#define GST_GHOST_PAD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_GHOST_PAD, GstGhostPad))
#define GST_GHOST_PAD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_GHOST_PAD, GstGhostPadClass))
#define GST_GHOST_PAD_CAST(obj) ((GstGhostPad*)(obj))
/**
* GstGhostPad:
@ -105,18 +105,18 @@ struct _GstGhostPadClass
};
GType gst_ghost_pad_get_type (void);
GType gst_ghost_pad_get_type (void);
GstPad* gst_ghost_pad_new (const gchar *name, GstPad *target);
GstPad* gst_ghost_pad_new_no_target (const gchar *name, GstPadDirection dir);
GstPad* gst_ghost_pad_new (const gchar *name, GstPad *target);
GstPad* gst_ghost_pad_new_no_target (const gchar *name, GstPadDirection dir);
GstPad* gst_ghost_pad_new_from_template (const gchar *name, GstPad * target, GstPadTemplate * templ);
GstPad* gst_ghost_pad_new_no_target_from_template (const gchar *name, GstPadTemplate * templ);
GstPad* gst_ghost_pad_new_from_template (const gchar *name, GstPad * target, GstPadTemplate * templ);
GstPad* gst_ghost_pad_new_no_target_from_template (const gchar *name, GstPadTemplate * templ);
GstPad* gst_ghost_pad_get_target (GstGhostPad *gpad);
gboolean gst_ghost_pad_set_target (GstGhostPad *gpad, GstPad *newtarget);
GstPad* gst_ghost_pad_get_target (GstGhostPad *gpad);
gboolean gst_ghost_pad_set_target (GstGhostPad *gpad, GstPad *newtarget);
gboolean gst_ghost_pad_construct (GstGhostPad *gpad);
gboolean gst_ghost_pad_construct (GstGhostPad *gpad);
void gst_ghost_pad_unlink_default (GstPad * pad);
GstPadLinkReturn gst_ghost_pad_link_default (GstPad * pad, GstPad * peer);

View file

@ -318,7 +318,7 @@ typedef enum {
/**
* GstIndex:
*
*
* Opaque #GstIndex structure.
*/
struct _GstIndex {

View file

@ -30,12 +30,12 @@
G_BEGIN_DECLS
#define GST_TYPE_INDEX_FACTORY (gst_index_factory_get_type())
#define GST_INDEX_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_INDEX_FACTORY, GstIndexFactory))
#define GST_IS_INDEX_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_INDEX_FACTORY))
#define GST_INDEX_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_INDEX_FACTORY, GstIndexFactoryClass))
#define GST_IS_INDEX_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_INDEX_FACTORY))
#define GST_INDEX_FACTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_INDEX_FACTORY, GstIndexFactoryClass))
#define GST_TYPE_INDEX_FACTORY (gst_index_factory_get_type())
#define GST_INDEX_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_INDEX_FACTORY, GstIndexFactory))
#define GST_IS_INDEX_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_INDEX_FACTORY))
#define GST_INDEX_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_INDEX_FACTORY, GstIndexFactoryClass))
#define GST_IS_INDEX_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_INDEX_FACTORY))
#define GST_INDEX_FACTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_INDEX_FACTORY, GstIndexFactoryClass))
typedef struct _GstIndexFactory GstIndexFactory;
typedef struct _GstIndexFactoryClass GstIndexFactoryClass;
@ -60,16 +60,16 @@ struct _GstIndexFactoryClass {
gpointer _gst_reserved[GST_PADDING];
};
GType gst_index_factory_get_type (void);
GType gst_index_factory_get_type (void);
GstIndexFactory* gst_index_factory_new (const gchar *name,
const gchar *longdesc, GType type);
void gst_index_factory_destroy (GstIndexFactory *factory);
GstIndexFactory* gst_index_factory_new (const gchar *name,
const gchar *longdesc, GType type);
void gst_index_factory_destroy (GstIndexFactory *factory);
GstIndexFactory* gst_index_factory_find (const gchar *name);
GstIndexFactory* gst_index_factory_find (const gchar *name);
GstIndex* gst_index_factory_create (GstIndexFactory *factory);
GstIndex* gst_index_factory_make (const gchar *name);
GstIndex* gst_index_factory_create (GstIndexFactory *factory);
GstIndex* gst_index_factory_make (const gchar *name);
G_END_DECLS

View file

@ -40,10 +40,10 @@ G_BEGIN_DECLS
* The result of gst_iterator_next().
*/
typedef enum {
GST_ITERATOR_DONE = 0,
GST_ITERATOR_OK = 1,
GST_ITERATOR_RESYNC = 2,
GST_ITERATOR_ERROR = 3
GST_ITERATOR_DONE = 0,
GST_ITERATOR_OK = 1,
GST_ITERATOR_RESYNC = 2,
GST_ITERATOR_ERROR = 3
} GstIteratorResult;
typedef struct _GstIterator GstIterator;
@ -57,9 +57,9 @@ typedef struct _GstIterator GstIterator;
* The result of a #GstIteratorItemFunction.
*/
typedef enum {
GST_ITERATOR_ITEM_SKIP = 0,
GST_ITERATOR_ITEM_PASS = 1,
GST_ITERATOR_ITEM_END = 2
GST_ITERATOR_ITEM_SKIP = 0,
GST_ITERATOR_ITEM_PASS = 1,
GST_ITERATOR_ITEM_END = 2
} GstIteratorItem;
/**
@ -94,7 +94,7 @@ typedef GstIteratorItem (*GstIteratorItemFunction) (GstIterator *it, const
* @result: a pointer to hold the next item
*
* The function that will be called when the next element of the iterator
* should be retrieved.
* should be retrieved.
*
* Implementors of a #GstIterator should implement this
* function and pass it to the constructor of the custom iterator.
@ -102,7 +102,7 @@ typedef GstIteratorItem (*GstIteratorItemFunction) (GstIterator *it, const
*
* Returns: the result of the operation.
*/
typedef GstIteratorResult (*GstIteratorNextFunction) (GstIterator *it, GValue *result);
typedef GstIteratorResult (*GstIteratorNextFunction) (GstIterator *it, GValue *result);
/**
* GstIteratorResyncFunction:
* @it: the iterator
@ -116,7 +116,7 @@ typedef GstIteratorResult (*GstIteratorNextFunction) (GstIterator *it, GValue *r
* function and pass it to the constructor of the custom iterator.
* The function will be called with the iterator lock held.
*/
typedef void (*GstIteratorResyncFunction) (GstIterator *it);
typedef void (*GstIteratorResyncFunction) (GstIterator *it);
/**
* GstIteratorFreeFunction:
* @it: the iterator
@ -127,7 +127,7 @@ typedef void (*GstIteratorResyncFunction) (GstIterator *it);
* function and pass it to the constructor of the custom iterator.
* The function will be called with the iterator lock held.
*/
typedef void (*GstIteratorFreeFunction) (GstIterator *it);
typedef void (*GstIteratorFreeFunction) (GstIterator *it);
/**
* GstIteratorForeachFunction:
@ -148,7 +148,7 @@ typedef void (*GstIteratorForeachFunction) (const GValue * item, gpo
*
* Returns: TRUE if the fold should continue, FALSE if it should stop.
*/
typedef gboolean (*GstIteratorFoldFunction) (const GValue * item, GValue * ret, gpointer user_data);
typedef gboolean (*GstIteratorFoldFunction) (const GValue * item, GValue * ret, gpointer user_data);
/**
* GST_ITERATOR:
@ -156,14 +156,14 @@ typedef gboolean (*GstIteratorFoldFunction) (const GValue * item, GValue *
*
* Macro to cast to a #GstIterator
*/
#define GST_ITERATOR(it) ((GstIterator*)(it))
#define GST_ITERATOR(it) ((GstIterator*)(it))
/**
* GST_ITERATOR_LOCK:
* @it: the #GstIterator to get the lock of
*
* Macro to get the lock protecting the datastructure being iterated.
*/
#define GST_ITERATOR_LOCK(it) (GST_ITERATOR(it)->lock)
#define GST_ITERATOR_LOCK(it) (GST_ITERATOR(it)->lock)
/**
* GST_ITERATOR_COOKIE:
* @it: the #GstIterator to get the cookie of
@ -175,7 +175,7 @@ typedef gboolean (*GstIteratorFoldFunction) (const GValue * item, GValue *
* value of the master cookie. If they are different, a concurrent
* modification happened to the iterator and a resync is needed.
*/
#define GST_ITERATOR_COOKIE(it) (GST_ITERATOR(it)->cookie)
#define GST_ITERATOR_COOKIE(it) (GST_ITERATOR(it)->cookie)
/**
* GST_ITERATOR_ORIG_COOKIE:
* @it: the #GstIterator to get the master cookie of
@ -184,7 +184,7 @@ typedef gboolean (*GstIteratorFoldFunction) (const GValue * item, GValue *
* master cookie protects the structure being iterated and gets updated
* whenever the datastructure changes.
*/
#define GST_ITERATOR_ORIG_COOKIE(it) (GST_ITERATOR(it)->master_cookie)
#define GST_ITERATOR_ORIG_COOKIE(it) (GST_ITERATOR(it)->master_cookie)
/**
* GstIterator:
@ -201,7 +201,7 @@ typedef gboolean (*GstIteratorFoldFunction) (const GValue * item, GValue *
* @master_cookie: A pointer to the master cookie.
* @size: the size of the iterator
*
* #GstIterator base structure. The values of this structure are
* #GstIterator base structure. The values of this structure are
* protected for subclasses, use the methods to use the #GstIterator.
*/
struct _GstIterator {
@ -212,13 +212,13 @@ struct _GstIterator {
GstIteratorResyncFunction resync;
GstIteratorFreeFunction free;
GstIterator *pushed; /* pushed iterator */
GstIterator *pushed; /* pushed iterator */
GType type;
GMutex *lock;
guint32 cookie; /* cookie of the iterator */
guint32 *master_cookie; /* pointer to guint32 holding the cookie when this
iterator was created */
guint32 cookie; /* cookie of the iterator */
guint32 *master_cookie; /* pointer to guint32 holding the cookie when this
iterator was created */
guint size;
/*< private >*/
@ -228,21 +228,21 @@ struct _GstIterator {
GType gst_iterator_get_type (void);
/* creating iterators */
GstIterator* gst_iterator_new (guint size,
GType type,
GMutex *lock,
guint32 *master_cookie,
GstIterator* gst_iterator_new (guint size,
GType type,
GMutex *lock,
guint32 *master_cookie,
GstIteratorCopyFunction copy,
GstIteratorNextFunction next,
GstIteratorNextFunction next,
GstIteratorItemFunction item,
GstIteratorResyncFunction resync,
GstIteratorFreeFunction free);
GstIteratorResyncFunction resync,
GstIteratorFreeFunction free);
GstIterator* gst_iterator_new_list (GType type,
GMutex *lock,
guint32 *master_cookie,
GList **list,
GObject * owner,
GstIterator* gst_iterator_new_list (GType type,
GMutex *lock,
guint32 *master_cookie,
GList **list,
GObject * owner,
GstIteratorItemFunction item);
GstIterator* gst_iterator_new_single (GType type,
@ -251,21 +251,21 @@ GstIterator* gst_iterator_new_single (GType type,
GstIterator* gst_iterator_copy (const GstIterator *it);
/* using iterators */
GstIteratorResult gst_iterator_next (GstIterator *it, GValue * elem);
void gst_iterator_resync (GstIterator *it);
void gst_iterator_free (GstIterator *it);
GstIteratorResult gst_iterator_next (GstIterator *it, GValue * elem);
void gst_iterator_resync (GstIterator *it);
void gst_iterator_free (GstIterator *it);
void gst_iterator_push (GstIterator *it, GstIterator *other);
void gst_iterator_push (GstIterator *it, GstIterator *other);
/* higher-order functions that operate on iterators */
GstIterator* gst_iterator_filter (GstIterator *it, GCompareFunc func,
GstIterator* gst_iterator_filter (GstIterator *it, GCompareFunc func,
const GValue * user_data);
GstIteratorResult gst_iterator_fold (GstIterator *it,
GstIteratorResult gst_iterator_fold (GstIterator *it,
GstIteratorFoldFunction func,
GValue *ret, gpointer user_data);
GstIteratorResult gst_iterator_foreach (GstIterator *it,
GstIteratorResult gst_iterator_foreach (GstIterator *it,
GstIteratorForeachFunction func, gpointer user_data);
gboolean gst_iterator_find_custom (GstIterator *it, GCompareFunc func,
gboolean gst_iterator_find_custom (GstIterator *it, GCompareFunc func,
GValue *elem, gpointer user_data);
G_END_DECLS

View file

@ -265,6 +265,8 @@ struct _GstMemoryInfo {
GstMemoryIsSpanFunction is_span;
gpointer user_data;
gpointer _gst_reserved[GST_PADDING];
};
/* allocators */

View file

@ -106,6 +106,8 @@ struct _GstMetaInfo {
GstMetaFreeFunction free_func;
GstMetaCopyFunction copy_func;
GstMetaTransformFunction transform_func;
gpointer _gst_reserved[GST_PADDING];
};
const GstMetaInfo * gst_meta_register (const gchar *api, const gchar *impl,

View file

@ -71,7 +71,7 @@ typedef void (*GstMiniObjectFreeFunction) (GstMiniObject *obj);
* GstMiniObjectWeakNotify:
* @data: data that was provided when the weak reference was established
* @where_the_mini_object_was: the mini object being finalized
*
*
* A #GstMiniObjectWeakNotify function can be added to a mini object as a
* callback that gets triggered when the mini object is finalized. Since the
* mini object is already being finalized when the #GstMiniObjectWeakNotify is

View file

@ -171,9 +171,9 @@ struct _GstObject {
guint32 flags;
/*< private >*/
GList *properties; /* List of GstControlledProperty */
guint64 control_rate;
guint64 last_sync;
GList *properties; /* List of GstControlledProperty */
guint64 control_rate;
guint64 last_sync;
gpointer _gst_reserved;
};
@ -234,25 +234,32 @@ gboolean gst_object_check_uniqueness (GList *list, const gchar *name);
/* controller functions */
#include <gst/gstcontrolsource.h>
gboolean gst_object_control_properties (GstObject * object, ...) G_GNUC_NULL_TERMINATED;
gboolean gst_object_uncontrol_properties (GstObject * object, ...) G_GNUC_NULL_TERMINATED;
gboolean gst_object_control_properties (GstObject * object, ...) G_GNUC_NULL_TERMINATED;
gboolean gst_object_uncontrol_properties (GstObject * object, ...) G_GNUC_NULL_TERMINATED;
GstClockTime gst_object_suggest_next_sync (GstObject * object);
gboolean gst_object_sync_values (GstObject * object, GstClockTime timestamp);
GstClockTime gst_object_suggest_next_sync (GstObject * object);
gboolean gst_object_sync_values (GstObject * object, GstClockTime timestamp);
gboolean gst_object_has_active_controlled_properties (GstObject *object);
void gst_object_set_controlled_properties_disabled (GstObject *object, gboolean disabled);
void gst_object_set_controlled_property_disabled (GstObject *object, const gchar * property_name, gboolean disabled);
gboolean gst_object_has_active_controlled_properties (GstObject *object);
void gst_object_set_controlled_properties_disabled (GstObject *object, gboolean disabled);
void gst_object_set_controlled_property_disabled (GstObject *object,
const gchar * property_name,
gboolean disabled);
gboolean gst_object_set_control_source (GstObject *object, const gchar * property_name, GstControlSource *csource);
GstControlSource * gst_object_get_control_source (GstObject *object, const gchar * property_name);
gboolean gst_object_set_control_source (GstObject *object, const gchar * property_name,
GstControlSource *csource);
GstControlSource *
gst_object_get_control_source (GstObject *object, const gchar * property_name);
GValue *gst_object_get_value (GstObject * object, const gchar * property_name, GstClockTime timestamp);
gboolean gst_object_get_value_arrays (GstObject * object, GstClockTime timestamp, GSList * value_arrays);
gboolean gst_object_get_value_array (GstObject * object, GstClockTime timestamp, GstValueArray * value_array);
GValue * gst_object_get_value (GstObject * object, const gchar * property_name,
GstClockTime timestamp);
gboolean gst_object_get_value_arrays (GstObject * object, GstClockTime timestamp,
GSList * value_arrays);
gboolean gst_object_get_value_array (GstObject * object, GstClockTime timestamp,
GstValueArray * value_array);
GstClockTime gst_object_get_control_rate (GstObject * object);
void gst_object_set_control_rate (GstObject * object, GstClockTime control_rate);
GstClockTime gst_object_get_control_rate (GstObject * object);
void gst_object_set_control_rate (GstObject * object, GstClockTime control_rate);
G_END_DECLS

View file

@ -520,6 +520,8 @@ typedef struct
gpointer data;
guint64 offset;
guint size;
gpointer _gst_reserved[GST_PADDING];
} GstPadProbeInfo;
#define GST_PAD_PROBE_INFO_TYPE(d) ((d)->type)
@ -557,8 +559,8 @@ typedef GstPadProbeReturn (*GstPadProbeCallback) (GstPad *pad, GstPadProbeIn
*
* Returns: GST_FLOW_OK if the iteration should continue
*/
typedef GstFlowReturn (*GstPadStickyEventsForeachFunction) (GstPad *pad, GstEvent *event,
gpointer user_data);
typedef GstFlowReturn (*GstPadStickyEventsForeachFunction) (GstPad *pad, GstEvent *event,
gpointer user_data);
/**
* GstPadFlags:

View file

@ -138,7 +138,7 @@ struct _GstPadTemplateClass {
gpointer _gst_reserved[GST_PADDING];
};
/**
/**
* GstStaticPadTemplate:
* @name_template: the name of the template
* @direction: the direction of the template

View file

@ -105,7 +105,7 @@ typedef struct _GstParamSpecFraction GstParamSpecFraction;
*/
struct _GstParamSpecFraction {
GParamSpec parent_instance;
gint min_num, min_den;
gint max_num, max_den;
gint def_num, def_den;

View file

@ -28,13 +28,13 @@
G_BEGIN_DECLS
#define GST_TYPE_PIPELINE (gst_pipeline_get_type ())
#define GST_PIPELINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_PIPELINE, GstPipeline))
#define GST_IS_PIPELINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_PIPELINE))
#define GST_PIPELINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_PIPELINE, GstPipelineClass))
#define GST_IS_PIPELINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_PIPELINE))
#define GST_PIPELINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_PIPELINE, GstPipelineClass))
#define GST_PIPELINE_CAST(obj) ((GstPipeline*)(obj))
#define GST_TYPE_PIPELINE (gst_pipeline_get_type ())
#define GST_PIPELINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_PIPELINE, GstPipeline))
#define GST_IS_PIPELINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_PIPELINE))
#define GST_PIPELINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_PIPELINE, GstPipelineClass))
#define GST_IS_PIPELINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_PIPELINE))
#define GST_PIPELINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_PIPELINE, GstPipelineClass))
#define GST_PIPELINE_CAST(obj) ((GstPipeline*)(obj))
typedef struct _GstPipeline GstPipeline;
typedef struct _GstPipelineClass GstPipelineClass;
@ -55,7 +55,7 @@ typedef enum {
/**
* GstPipeline:
* @fixed_clock: The fixed clock of the pipeline, used when
* @fixed_clock: The fixed clock of the pipeline, used when
* GST_PIPELINE_FLAG_FIXED_CLOCK is set.
* @stream_time: The stream time of the pipeline. A better name for this
* property would be the running_time, the total time spent in the
@ -67,18 +67,18 @@ typedef enum {
* The #GstPipeline structure.
*/
struct _GstPipeline {
GstBin bin;
GstBin bin;
/*< public >*/ /* with LOCK */
GstClock *fixed_clock;
GstClockTime stream_time;
GstClockTime stream_time;
GstClockTime delay;
/*< private >*/
GstPipelinePrivate *priv;
gpointer _gst_reserved[GST_PADDING-1];
gpointer _gst_reserved[GST_PADDING];
};
struct _GstPipelineClass {
@ -88,10 +88,10 @@ struct _GstPipelineClass {
gpointer _gst_reserved[GST_PADDING];
};
GType gst_pipeline_get_type (void);
GstElement* gst_pipeline_new (const gchar *name);
GType gst_pipeline_get_type (void);
GstElement* gst_pipeline_new (const gchar *name);
GstBus* gst_pipeline_get_bus (GstPipeline *pipeline);
GstBus* gst_pipeline_get_bus (GstPipeline *pipeline);
void gst_pipeline_use_clock (GstPipeline *pipeline, GstClock *clock);
gboolean gst_pipeline_set_clock (GstPipeline *pipeline, GstClock *clock);

View file

@ -213,6 +213,7 @@ struct _GstPlugin {
* that matches the plugin's basename */
GstPluginPrivate *priv;
gpointer _gst_reserved[GST_PADDING];
};
@ -341,12 +342,11 @@ GstPlugin * gst_plugin_load_file (const gchar *filename, GError** error);
GstPlugin * gst_plugin_load (GstPlugin *plugin);
GstPlugin * gst_plugin_load_by_name (const gchar *name);
void gst_plugin_add_dependency (GstPlugin * plugin,
const gchar ** env_vars,
const gchar ** paths,
const gchar ** names,
GstPluginDependencyFlags flags);
void gst_plugin_add_dependency (GstPlugin * plugin,
const gchar ** env_vars,
const gchar ** paths,
const gchar ** names,
GstPluginDependencyFlags flags);
void gst_plugin_add_dependency_simple (GstPlugin * plugin,
const gchar * env_vars,
const gchar * paths,

View file

@ -100,7 +100,7 @@ struct _GstPluginFeature {
GstPlugin *plugin; /* weak ref */
/*< private >*/
gpointer _gst_reserved[GST_PADDING - 1];
gpointer _gst_reserved[GST_PADDING];
};
struct _GstPluginFeatureClass {

View file

@ -26,10 +26,10 @@ G_BEGIN_DECLS
typedef struct _GstPluginLoader GstPluginLoader;
typedef struct _GstPluginLoaderFuncs {
GstPluginLoader * (*create)(GstRegistry *registry);
gboolean (*destroy)(GstPluginLoader *loader);
gboolean (*load)(GstPluginLoader *loader, const gchar *filename,
off_t file_size, time_t file_mtime);
GstPluginLoader * (*create) (GstRegistry *registry);
gboolean (*destroy) (GstPluginLoader *loader);
gboolean (*load) (GstPluginLoader *loader, const gchar *filename,
off_t file_size, time_t file_mtime);
} GstPluginLoaderFuncs;
extern const GstPluginLoaderFuncs _priv_gst_plugin_loader_funcs;

View file

@ -67,7 +67,7 @@ struct _GstPresetInterface
gboolean (*rename_preset) (GstPreset *preset, const gchar *old_name,
const gchar *new_name);
gboolean (*delete_preset) (GstPreset *preset, const gchar *name);
gboolean (*set_meta) (GstPreset *preset, const gchar *name,
const gchar *tag, const gchar *value);
gboolean (*get_meta) (GstPreset *preset, const gchar *name,

View file

@ -30,12 +30,12 @@
G_BEGIN_DECLS
#define GST_TYPE_REGISTRY (gst_registry_get_type ())
#define GST_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_REGISTRY, GstRegistry))
#define GST_IS_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_REGISTRY))
#define GST_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_REGISTRY, GstRegistryClass))
#define GST_IS_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_REGISTRY))
#define GST_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_REGISTRY, GstRegistryClass))
#define GST_TYPE_REGISTRY (gst_registry_get_type ())
#define GST_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_REGISTRY, GstRegistry))
#define GST_IS_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_REGISTRY))
#define GST_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_REGISTRY, GstRegistryClass))
#define GST_IS_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_REGISTRY))
#define GST_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_REGISTRY, GstRegistryClass))
typedef struct _GstRegistry GstRegistry;
typedef struct _GstRegistryClass GstRegistryClass;
@ -47,13 +47,13 @@ typedef struct _GstRegistryPrivate GstRegistryPrivate;
* Opaque #GstRegistry structure.
*/
struct _GstRegistry {
GstObject object;
GstObject object;
/*< private >*/
GList *plugins;
GList *features;
GList *paths;
GList *paths;
/* FIXME move these elsewhere */
int cache_file;
@ -70,11 +70,11 @@ struct _GstRegistry {
};
struct _GstRegistryClass {
GstObjectClass parent_class;
GstObjectClass parent_class;
/* signals */
void (*plugin_added) (GstRegistry *registry, GstPlugin *plugin);
void (*feature_added) (GstRegistry *registry, GstPluginFeature *feature);
void (*plugin_added) (GstRegistry *registry, GstPlugin *plugin);
void (*feature_added) (GstRegistry *registry, GstPluginFeature *feature);
/*< private >*/
gpointer _gst_reserved[GST_PADDING];
@ -82,38 +82,38 @@ struct _GstRegistryClass {
/* normal GObject stuff */
GType gst_registry_get_type (void);
GType gst_registry_get_type (void);
GstRegistry * gst_registry_get_default (void);
gboolean gst_registry_scan_path (GstRegistry *registry, const gchar *path);
gboolean gst_registry_scan_path (GstRegistry *registry, const gchar *path);
void gst_registry_add_path (GstRegistry * registry, const gchar * path);
GList* gst_registry_get_path_list (GstRegistry *registry);
GList* gst_registry_get_path_list (GstRegistry *registry);
gboolean gst_registry_add_plugin (GstRegistry *registry, GstPlugin *plugin);
void gst_registry_remove_plugin (GstRegistry *registry, GstPlugin *plugin);
gboolean gst_registry_add_plugin (GstRegistry *registry, GstPlugin *plugin);
void gst_registry_remove_plugin (GstRegistry *registry, GstPlugin *plugin);
gboolean gst_registry_add_feature (GstRegistry * registry, GstPluginFeature * feature);
void gst_registry_remove_feature (GstRegistry * registry, GstPluginFeature * feature);
GList* gst_registry_get_plugin_list (GstRegistry *registry);
GList* gst_registry_plugin_filter (GstRegistry *registry,
GstPluginFilter filter,
gboolean first,
gpointer user_data);
GList* gst_registry_feature_filter (GstRegistry *registry,
GstPluginFeatureFilter filter,
gboolean first,
gpointer user_data);
GList* gst_registry_plugin_filter (GstRegistry *registry,
GstPluginFilter filter,
gboolean first,
gpointer user_data);
GList* gst_registry_feature_filter (GstRegistry *registry,
GstPluginFeatureFilter filter,
gboolean first,
gpointer user_data);
GList * gst_registry_get_feature_list (GstRegistry *registry,
GType type);
GList * gst_registry_get_feature_list_by_plugin (GstRegistry *registry, const gchar *name);
guint32 gst_registry_get_feature_list_cookie (GstRegistry *registry);
GstPlugin* gst_registry_find_plugin (GstRegistry *registry, const gchar *name);
GstPluginFeature* gst_registry_find_feature (GstRegistry *registry, const gchar *name, GType type);
GstPlugin* gst_registry_find_plugin (GstRegistry *registry, const gchar *name);
GstPluginFeature* gst_registry_find_feature (GstRegistry *registry, const gchar *name, GType type);
GstPlugin * gst_registry_lookup (GstRegistry *registry, const char *filename);
GstPluginFeature * gst_registry_lookup_feature (GstRegistry *registry, const char *name);
GstPlugin * gst_registry_lookup (GstRegistry *registry, const char *filename);
GstPluginFeature * gst_registry_lookup_feature (GstRegistry *registry, const char *name);
/* convinience defines for the default registry */
@ -150,7 +150,7 @@ GstPluginFeature * gst_registry_lookup_feature (GstRegistry *registry, const c
*/
#define gst_default_registry_get_path_list() \
gst_registry_get_path_list (gst_registry_get_default())
/**
* gst_default_registry_get_plugin_list:
*

View file

@ -26,18 +26,18 @@
G_BEGIN_DECLS
#define GST_TYPE_TAG_SETTER (gst_tag_setter_get_type ())
#define GST_TAG_SETTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_TAG_SETTER, GstTagSetter))
#define GST_IS_TAG_SETTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_TAG_SETTER))
#define GST_TAG_SETTER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GST_TYPE_TAG_SETTER, GstTagSetterInterface))
#define GST_TYPE_TAG_SETTER (gst_tag_setter_get_type ())
#define GST_TAG_SETTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_TAG_SETTER, GstTagSetter))
#define GST_IS_TAG_SETTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_TAG_SETTER))
#define GST_TAG_SETTER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GST_TYPE_TAG_SETTER, GstTagSetterInterface))
/**
* GstTagSetter:
*
* Opaque #GstTagSetter data structure.
*/
typedef struct _GstTagSetter GstTagSetter; /* Dummy typedef */
typedef struct _GstTagSetterInterface GstTagSetterInterface;
typedef struct _GstTagSetter GstTagSetter; /* Dummy typedef */
typedef struct _GstTagSetterInterface GstTagSetterInterface;
/**
* GstTagSetterInterface:
@ -56,44 +56,44 @@ struct _GstTagSetterInterface
/* virtual table */
};
GType gst_tag_setter_get_type (void);
GType gst_tag_setter_get_type (void);
void gst_tag_setter_reset_tags (GstTagSetter * setter);
void gst_tag_setter_reset_tags (GstTagSetter * setter);
void gst_tag_setter_merge_tags (GstTagSetter * setter,
const GstTagList * list,
GstTagMergeMode mode);
void gst_tag_setter_add_tags (GstTagSetter * setter,
GstTagMergeMode mode,
const gchar * tag,
...) G_GNUC_NULL_TERMINATED;
void gst_tag_setter_merge_tags (GstTagSetter * setter,
const GstTagList * list,
GstTagMergeMode mode);
void gst_tag_setter_add_tags (GstTagSetter * setter,
GstTagMergeMode mode,
const gchar * tag,
...) G_GNUC_NULL_TERMINATED;
void gst_tag_setter_add_tag_values (GstTagSetter * setter,
GstTagMergeMode mode,
const gchar * tag,
...) G_GNUC_NULL_TERMINATED;
void gst_tag_setter_add_tag_values (GstTagSetter * setter,
GstTagMergeMode mode,
const gchar * tag,
...) G_GNUC_NULL_TERMINATED;
void gst_tag_setter_add_tag_valist (GstTagSetter * setter,
GstTagMergeMode mode,
const gchar * tag,
va_list var_args);
void gst_tag_setter_add_tag_valist (GstTagSetter * setter,
GstTagMergeMode mode,
const gchar * tag,
va_list var_args);
void gst_tag_setter_add_tag_valist_values(GstTagSetter * setter,
GstTagMergeMode mode,
const gchar * tag,
va_list var_args);
void gst_tag_setter_add_tag_valist_values(GstTagSetter * setter,
GstTagMergeMode mode,
const gchar * tag,
va_list var_args);
void gst_tag_setter_add_tag_value (GstTagSetter * setter,
GstTagMergeMode mode,
const gchar * tag,
const GValue * value);
void gst_tag_setter_add_tag_value (GstTagSetter * setter,
GstTagMergeMode mode,
const gchar * tag,
const GValue * value);
const GstTagList *
gst_tag_setter_get_tag_list (GstTagSetter * setter);
gst_tag_setter_get_tag_list (GstTagSetter * setter);
void gst_tag_setter_set_tag_merge_mode (GstTagSetter * setter,
GstTagMergeMode mode);
GstTagMergeMode gst_tag_setter_get_tag_merge_mode (GstTagSetter * setter);
void gst_tag_setter_set_tag_merge_mode (GstTagSetter * setter,
GstTagMergeMode mode);
GstTagMergeMode gst_tag_setter_get_tag_merge_mode (GstTagSetter * setter);
G_END_DECLS

View file

@ -116,7 +116,7 @@ typedef enum {
* @leave_thread: a thread is exiting, this is called when the thread is about
* to leave its function
*
* Custom GstTask thread callback functions that can be installed.
* Custom GstTask thread callback functions that can be installed.
*
* Since: 0.10.24
*/

View file

@ -92,7 +92,7 @@ GType gst_task_pool_get_type (void);
GstTaskPool * gst_task_pool_new (void);
void gst_task_pool_prepare (GstTaskPool *pool, GError **error);
gpointer gst_task_pool_push (GstTaskPool *pool, GstTaskPoolFunction func,
gpointer gst_task_pool_push (GstTaskPool *pool, GstTaskPoolFunction func,
gpointer user_data, GError **error);
void gst_task_pool_join (GstTaskPool *pool, gpointer id);

View file

@ -39,10 +39,10 @@ G_BEGIN_DECLS
typedef enum {
GST_ALLOC_TRACE_NONE = 0,
GST_ALLOC_TRACE_LIVE = (1 << 0),
GST_ALLOC_TRACE_MEM_LIVE = (1 << 1)
GST_ALLOC_TRACE_MEM_LIVE = (1 << 1)
} GstAllocTraceFlags;
typedef struct _GstAllocTrace GstAllocTrace;
typedef struct _GstAllocTrace GstAllocTrace;
/**
* GstAllocTrace:
@ -54,17 +54,17 @@ typedef struct _GstAllocTrace GstAllocTrace;
* The main tracing object
*/
struct _GstAllocTrace {
gchar *name;
gint flags;
gchar *name;
gint flags;
gint live;
GSList *mem_live;
gint live;
GSList *mem_live;
};
#ifndef GST_DISABLE_TRACE
typedef struct _GstTrace GstTrace;
typedef struct _GstTraceEntry GstTraceEntry;
typedef struct _GstTrace GstTrace;
typedef struct _GstTraceEntry GstTraceEntry;
/**
* GstTrace:
@ -90,54 +90,54 @@ struct _GstTraceEntry {
gchar message[112];
};
GstTrace* gst_trace_new (const gchar *filename, gint size);
GstTrace* gst_trace_new (const gchar *filename, gint size);
void gst_trace_destroy (GstTrace *trace);
void gst_trace_flush (GstTrace *trace);
void gst_trace_text_flush (GstTrace *trace);
void gst_trace_destroy (GstTrace *trace);
void gst_trace_flush (GstTrace *trace);
void gst_trace_text_flush (GstTrace *trace);
/**
* gst_trace_get_size:
* @trace: a #GstTrace
*
* Retrieve the buffer size of @trace.
*/
#define gst_trace_get_size(trace) ((trace)->bufsize)
#define gst_trace_get_size(trace) ((trace)->bufsize)
/**
* gst_trace_get_offset:
* @trace: a #GstTrace
*
* Retrieve the current buffer offset of @trace.
*/
#define gst_trace_get_offset(trace) ((trace)->bufoffset)
#define gst_trace_get_offset(trace) ((trace)->bufoffset)
/**
* gst_trace_get_remaining:
* @trace: a #GstTrace
*
* Retrieve the remaining size in the @trace buffer.
*/
#define gst_trace_get_remaining(trace) ((trace)->bufsize - (trace)->bufoffset)
void gst_trace_set_default (GstTrace *trace);
#define gst_trace_get_remaining(trace) ((trace)->bufsize - (trace)->bufoffset)
void gst_trace_set_default (GstTrace *trace);
void _gst_trace_add_entry (GstTrace *trace, guint32 seq,
guint32 data, gchar *msg);
void _gst_trace_add_entry (GstTrace *trace, guint32 seq,
guint32 data, gchar *msg);
void gst_trace_read_tsc (gint64 *dst);
void gst_trace_read_tsc (gint64 *dst);
extern GStaticMutex _gst_trace_mutex;
gboolean gst_alloc_trace_available (void);
const GList* gst_alloc_trace_list (void);
GstAllocTrace* _gst_alloc_trace_register (const gchar *name);
gboolean gst_alloc_trace_available (void);
const GList* gst_alloc_trace_list (void);
GstAllocTrace* _gst_alloc_trace_register (const gchar *name);
int gst_alloc_trace_live_all (void);
void gst_alloc_trace_print_all (void);
void gst_alloc_trace_print_live (void);
void gst_alloc_trace_set_flags_all (GstAllocTraceFlags flags);
int gst_alloc_trace_live_all (void);
void gst_alloc_trace_print_all (void);
void gst_alloc_trace_print_live (void);
void gst_alloc_trace_set_flags_all (GstAllocTraceFlags flags);
GstAllocTrace* gst_alloc_trace_get (const gchar *name);
void gst_alloc_trace_print (const GstAllocTrace *trace);
void gst_alloc_trace_set_flags (GstAllocTrace *trace, GstAllocTraceFlags flags);
GstAllocTrace* gst_alloc_trace_get (const gchar *name);
void gst_alloc_trace_print (const GstAllocTrace *trace);
void gst_alloc_trace_set_flags (GstAllocTrace *trace, GstAllocTraceFlags flags);
#ifndef GST_DISABLE_ALLOC_TRACE
@ -147,7 +147,7 @@ void gst_alloc_trace_set_flags (GstAllocTrace *trace, GstAllocTraceFlags flags
*
* Register a new alloc tracer with the given name
*/
#define gst_alloc_trace_register(name) _gst_alloc_trace_register (name);
#define gst_alloc_trace_register(name) _gst_alloc_trace_register (name);
/**
* gst_alloc_trace_new:
@ -156,15 +156,15 @@ void gst_alloc_trace_set_flags (GstAllocTrace *trace, GstAllocTraceFlags flags
*
* Use the tracer to trace a new memory allocation
*/
#define gst_alloc_trace_new(trace, mem) \
G_STMT_START { \
#define gst_alloc_trace_new(trace, mem) \
G_STMT_START { \
if (G_UNLIKELY ((trace)->flags)) { \
g_static_mutex_lock (&_gst_trace_mutex); \
if ((trace)->flags & GST_ALLOC_TRACE_LIVE) \
(trace)->live++; \
if ((trace)->flags & GST_ALLOC_TRACE_MEM_LIVE) \
(trace)->mem_live = \
g_slist_prepend ((trace)->mem_live, mem); \
if ((trace)->flags & GST_ALLOC_TRACE_LIVE) \
(trace)->live++; \
if ((trace)->flags & GST_ALLOC_TRACE_MEM_LIVE) \
(trace)->mem_live = \
g_slist_prepend ((trace)->mem_live, mem); \
g_static_mutex_unlock (&_gst_trace_mutex); \
} \
} G_STMT_END
@ -176,23 +176,23 @@ G_STMT_START { \
*
* Trace a memory free operation
*/
#define gst_alloc_trace_free(trace, mem) \
G_STMT_START { \
#define gst_alloc_trace_free(trace, mem) \
G_STMT_START { \
if (G_UNLIKELY ((trace)->flags)) { \
g_static_mutex_lock (&_gst_trace_mutex); \
if ((trace)->flags & GST_ALLOC_TRACE_LIVE) \
(trace)->live--; \
if ((trace)->flags & GST_ALLOC_TRACE_MEM_LIVE) \
(trace)->mem_live = \
g_slist_remove ((trace)->mem_live, mem); \
if ((trace)->flags & GST_ALLOC_TRACE_LIVE) \
(trace)->live--; \
if ((trace)->flags & GST_ALLOC_TRACE_MEM_LIVE) \
(trace)->mem_live = \
g_slist_remove ((trace)->mem_live, mem); \
g_static_mutex_unlock (&_gst_trace_mutex); \
} \
} G_STMT_END
#else
#define gst_alloc_trace_register(name) (NULL)
#define gst_alloc_trace_new(trace, mem)
#define gst_alloc_trace_free(trace, mem)
#define gst_alloc_trace_register(name) (NULL)
#define gst_alloc_trace_new(trace, mem)
#define gst_alloc_trace_free(trace, mem)
#endif
@ -215,34 +215,34 @@ extern gint _gst_trace_on;
#else /* GST_DISABLE_TRACE */
#if defined __GNUC__ && __GNUC__ >= 3
#pragma GCC poison gst_trace_new
#pragma GCC poison gst_trace_destroy
#pragma GCC poison gst_trace_flush
#pragma GCC poison gst_trace_text_flush
#pragma GCC poison gst_trace_get_size
#pragma GCC poison gst_trace_get_offset
#pragma GCC poison gst_trace_get_remaining
#pragma GCC poison gst_trace_set_default
#pragma GCC poison _gst_trace_add_entry
#pragma GCC poison gst_trace_read_tsc
#pragma GCC poison gst_trace_new
#pragma GCC poison gst_trace_destroy
#pragma GCC poison gst_trace_flush
#pragma GCC poison gst_trace_text_flush
#pragma GCC poison gst_trace_get_size
#pragma GCC poison gst_trace_get_offset
#pragma GCC poison gst_trace_get_remaining
#pragma GCC poison gst_trace_set_default
#pragma GCC poison _gst_trace_add_entry
#pragma GCC poison gst_trace_read_tsc
#endif
#define gst_alloc_trace_register(name) (NULL)
#define gst_alloc_trace_new(trace, mem)
#define gst_alloc_trace_free(trace, mem)
#define gst_alloc_trace_register(name) (NULL)
#define gst_alloc_trace_new(trace, mem)
#define gst_alloc_trace_free(trace, mem)
#define gst_alloc_trace_available() (FALSE)
#define gst_alloc_trace_list() (NULL)
#define _gst_alloc_trace_register(name) (NULL)
#define gst_alloc_trace_available() (FALSE)
#define gst_alloc_trace_list() (NULL)
#define _gst_alloc_trace_register(name) (NULL)
#define gst_alloc_trace_live_all() (0)
#define gst_alloc_trace_print_all()
#define gst_alloc_trace_print_live()
#define gst_alloc_trace_set_flags_all(flags)
#define gst_alloc_trace_live_all() (0)
#define gst_alloc_trace_print_all()
#define gst_alloc_trace_print_live()
#define gst_alloc_trace_set_flags_all(flags)
#define gst_alloc_trace_get(name) (NULL)
#define gst_alloc_trace_print(trace)
#define gst_alloc_trace_set_flags(trace,flags)
#define gst_alloc_trace_get(name) (NULL)
#define gst_alloc_trace_print(trace)
#define gst_alloc_trace_set_flags(trace,flags)
#define gst_trace_add_entry(trace,seq,data,msg)

View file

@ -45,21 +45,21 @@ typedef struct _GstTypeFindFactoryClass GstTypeFindFactoryClass;
* Object that stores information about a typefind function.
*/
struct _GstTypeFindFactory {
GstPluginFeature feature;
GstPluginFeature feature;
/* <private> */
GstTypeFindFunction function;
gchar ** extensions;
GstCaps * caps; /* FIXME: not yet saved in registry */
GstTypeFindFunction function;
gchar ** extensions;
GstCaps * caps; /* FIXME: not yet saved in registry */
gpointer user_data;
GDestroyNotify user_data_notify;
gpointer user_data;
GDestroyNotify user_data_notify;
gpointer _gst_reserved[GST_PADDING];
};
struct _GstTypeFindFactoryClass {
GstPluginFeatureClass parent;
GstPluginFeatureClass parent;
/* <private> */
gpointer _gst_reserved[GST_PADDING];
@ -67,14 +67,14 @@ struct _GstTypeFindFactoryClass {
/* typefinding interface */
GType gst_type_find_factory_get_type (void);
GType gst_type_find_factory_get_type (void);
GList * gst_type_find_factory_get_list (void);
GList * gst_type_find_factory_get_list (void);
gchar ** gst_type_find_factory_get_extensions (GstTypeFindFactory *factory);
GstCaps * gst_type_find_factory_get_caps (GstTypeFindFactory *factory);
void gst_type_find_factory_call_function (GstTypeFindFactory *factory,
GstTypeFind *find);
gchar ** gst_type_find_factory_get_extensions (GstTypeFindFactory *factory);
GstCaps * gst_type_find_factory_get_caps (GstTypeFindFactory *factory);
void gst_type_find_factory_call_function (GstTypeFindFactory *factory,
GstTypeFind *find);
G_END_DECLS

View file

@ -31,9 +31,9 @@
G_BEGIN_DECLS
void gst_util_set_value_from_string (GValue *value, const gchar *value_str);
void gst_util_set_object_arg (GObject *object, const gchar *name, const gchar *value);
void gst_util_dump_mem (const guchar *mem, guint size);
void gst_util_set_value_from_string (GValue *value, const gchar *value_str);
void gst_util_set_object_arg (GObject *object, const gchar *name, const gchar *value);
void gst_util_dump_mem (const guchar *mem, guint size);
guint64 gst_util_gdouble_to_guint64 (gdouble value) G_GNUC_CONST;
gdouble gst_util_guint64_to_gdouble (guint64 value) G_GNUC_CONST;
@ -63,9 +63,9 @@ gdouble gst_util_guint64_to_gdouble (guint64 value) G_GNUC_CONST;
#define gst_guint64_to_gdouble(value) ((gdouble) (value))
#endif
guint64 gst_util_uint64_scale (guint64 val, guint64 num, guint64 denom);
guint64 gst_util_uint64_scale_round (guint64 val, guint64 num, guint64 denom);
guint64 gst_util_uint64_scale_ceil (guint64 val, guint64 num, guint64 denom);
guint64 gst_util_uint64_scale (guint64 val, guint64 num, guint64 denom);
guint64 gst_util_uint64_scale_round (guint64 val, guint64 num, guint64 denom);
guint64 gst_util_uint64_scale_ceil (guint64 val, guint64 num, guint64 denom);
guint64 gst_util_uint64_scale_int (guint64 val, gint num, gint denom);
guint64 gst_util_uint64_scale_int_round (guint64 val, gint num, gint denom);
@ -74,8 +74,8 @@ guint64 gst_util_uint64_scale_int_ceil (guint64 val, gint num, gint den
guint32 gst_util_seqnum_next (void);
gint32 gst_util_seqnum_compare (guint32 s1, guint32 s2);
void gst_print_pad_caps (GString *buf, gint indent, GstPad *pad);
void gst_print_element_args (GString *buf, gint indent, GstElement *element);
void gst_print_pad_caps (GString *buf, gint indent, GstPad *pad);
void gst_print_element_args (GString *buf, gint indent, GstElement *element);
/**
@ -89,9 +89,9 @@ void gst_print_element_args (GString *buf, gint indent, GstElement *element);
* this macro is not to be used with things that return something, use
* the _WITH_DEFAULT version for that
*/
#define GST_CALL_PARENT(parent_class_cast, name, args) \
((parent_class_cast(parent_class)->name != NULL) ? \
parent_class_cast(parent_class)->name args : (void) 0)
#define GST_CALL_PARENT(parent_class_cast, name, args) \
((parent_class_cast(parent_class)->name != NULL) ? \
parent_class_cast(parent_class)->name args : (void) 0)
/**
* GST_CALL_PARENT_WITH_DEFAULT:
@ -104,8 +104,8 @@ void gst_print_element_args (GString *buf, gint indent, GstElement *element);
* evaluates to @def_return.
*/
#define GST_CALL_PARENT_WITH_DEFAULT(parent_class_cast, name, args, def_return)\
((parent_class_cast(parent_class)->name != NULL) ? \
parent_class_cast(parent_class)->name args : def_return)
((parent_class_cast(parent_class)->name != NULL) ? \
parent_class_cast(parent_class)->name args : def_return)
/* Define PUT and GET functions for unaligned memory */
#define _GST_GET(__data, __idx, __size, __shift) \
@ -120,14 +120,14 @@ void gst_print_element_args (GString *buf, gint indent, GstElement *element);
*
* Read a 64 bit unsigned integer value in big endian format from the memory buffer.
*/
#define GST_READ_UINT64_BE(data) (_GST_GET (data, 0, 64, 56) | \
_GST_GET (data, 1, 64, 48) | \
_GST_GET (data, 2, 64, 40) | \
_GST_GET (data, 3, 64, 32) | \
_GST_GET (data, 4, 64, 24) | \
_GST_GET (data, 5, 64, 16) | \
_GST_GET (data, 6, 64, 8) | \
_GST_GET (data, 7, 64, 0))
#define GST_READ_UINT64_BE(data) (_GST_GET (data, 0, 64, 56) | \
_GST_GET (data, 1, 64, 48) | \
_GST_GET (data, 2, 64, 40) | \
_GST_GET (data, 3, 64, 32) | \
_GST_GET (data, 4, 64, 24) | \
_GST_GET (data, 5, 64, 16) | \
_GST_GET (data, 6, 64, 8) | \
_GST_GET (data, 7, 64, 0))
/**
* GST_READ_UINT64_LE:
@ -135,14 +135,14 @@ void gst_print_element_args (GString *buf, gint indent, GstElement *element);
*
* Read a 64 bit unsigned integer value in little endian format from the memory buffer.
*/
#define GST_READ_UINT64_LE(data) (_GST_GET (data, 7, 64, 56) | \
_GST_GET (data, 6, 64, 48) | \
_GST_GET (data, 5, 64, 40) | \
_GST_GET (data, 4, 64, 32) | \
_GST_GET (data, 3, 64, 24) | \
_GST_GET (data, 2, 64, 16) | \
_GST_GET (data, 1, 64, 8) | \
_GST_GET (data, 0, 64, 0))
#define GST_READ_UINT64_LE(data) (_GST_GET (data, 7, 64, 56) | \
_GST_GET (data, 6, 64, 48) | \
_GST_GET (data, 5, 64, 40) | \
_GST_GET (data, 4, 64, 32) | \
_GST_GET (data, 3, 64, 24) | \
_GST_GET (data, 2, 64, 16) | \
_GST_GET (data, 1, 64, 8) | \
_GST_GET (data, 0, 64, 0))
/**
* GST_READ_UINT32_BE:
@ -150,10 +150,10 @@ void gst_print_element_args (GString *buf, gint indent, GstElement *element);
*
* Read a 32 bit unsigned integer value in big endian format from the memory buffer.
*/
#define GST_READ_UINT32_BE(data) (_GST_GET (data, 0, 32, 24) | \
_GST_GET (data, 1, 32, 16) | \
_GST_GET (data, 2, 32, 8) | \
_GST_GET (data, 3, 32, 0))
#define GST_READ_UINT32_BE(data) (_GST_GET (data, 0, 32, 24) | \
_GST_GET (data, 1, 32, 16) | \
_GST_GET (data, 2, 32, 8) | \
_GST_GET (data, 3, 32, 0))
/**
* GST_READ_UINT32_LE:
@ -161,10 +161,10 @@ void gst_print_element_args (GString *buf, gint indent, GstElement *element);
*
* Read a 32 bit unsigned integer value in little endian format from the memory buffer.
*/
#define GST_READ_UINT32_LE(data) (_GST_GET (data, 3, 32, 24) | \
_GST_GET (data, 2, 32, 16) | \
_GST_GET (data, 1, 32, 8) | \
_GST_GET (data, 0, 32, 0))
#define GST_READ_UINT32_LE(data) (_GST_GET (data, 3, 32, 24) | \
_GST_GET (data, 2, 32, 16) | \
_GST_GET (data, 1, 32, 8) | \
_GST_GET (data, 0, 32, 0))
/**
* GST_READ_UINT24_BE:
@ -174,9 +174,9 @@ void gst_print_element_args (GString *buf, gint indent, GstElement *element);
*
* Since: 0.10.22
*/
#define GST_READ_UINT24_BE(data) (_GST_GET (data, 0, 32, 16) | \
_GST_GET (data, 1, 32, 8) | \
_GST_GET (data, 2, 32, 0))
#define GST_READ_UINT24_BE(data) (_GST_GET (data, 0, 32, 16) | \
_GST_GET (data, 1, 32, 8) | \
_GST_GET (data, 2, 32, 0))
/**
* GST_READ_UINT24_LE:
@ -186,9 +186,9 @@ void gst_print_element_args (GString *buf, gint indent, GstElement *element);
*
* Since: 0.10.22
*/
#define GST_READ_UINT24_LE(data) (_GST_GET (data, 2, 32, 16) | \
_GST_GET (data, 1, 32, 8) | \
_GST_GET (data, 0, 32, 0))
#define GST_READ_UINT24_LE(data) (_GST_GET (data, 2, 32, 16) | \
_GST_GET (data, 1, 32, 8) | \
_GST_GET (data, 0, 32, 0))
/**
* GST_READ_UINT16_BE:
@ -196,8 +196,8 @@ void gst_print_element_args (GString *buf, gint indent, GstElement *element);
*
* Read a 16 bit unsigned integer value in big endian format from the memory buffer.
*/
#define GST_READ_UINT16_BE(data) (_GST_GET (data, 0, 16, 8) | \
_GST_GET (data, 1, 16, 0))
#define GST_READ_UINT16_BE(data) (_GST_GET (data, 0, 16, 8) | \
_GST_GET (data, 1, 16, 0))
/**
* GST_READ_UINT16_LE:
@ -205,8 +205,8 @@ void gst_print_element_args (GString *buf, gint indent, GstElement *element);
*
* Read a 16 bit unsigned integer value in little endian format from the memory buffer.
*/
#define GST_READ_UINT16_LE(data) (_GST_GET (data, 1, 16, 8) | \
_GST_GET (data, 0, 16, 0))
#define GST_READ_UINT16_LE(data) (_GST_GET (data, 1, 16, 8) | \
_GST_GET (data, 0, 16, 0))
/**
* GST_READ_UINT8:
@ -214,7 +214,7 @@ void gst_print_element_args (GString *buf, gint indent, GstElement *element);
*
* Read an 8 bit unsigned integer value from the memory buffer.
*/
#define GST_READ_UINT8(data) (_GST_GET (data, 0, 8, 0))
#define GST_READ_UINT8(data) (_GST_GET (data, 0, 8, 0))
/**
* GST_WRITE_UINT64_BE:
@ -223,16 +223,16 @@ void gst_print_element_args (GString *buf, gint indent, GstElement *element);
*
* Store a 64 bit unsigned integer value in big endian format into the memory buffer.
*/
#define GST_WRITE_UINT64_BE(data, num) do { \
_GST_PUT (data, 0, 64, 56, num); \
_GST_PUT (data, 1, 64, 48, num); \
_GST_PUT (data, 2, 64, 40, num); \
_GST_PUT (data, 3, 64, 32, num); \
_GST_PUT (data, 4, 64, 24, num); \
_GST_PUT (data, 5, 64, 16, num); \
_GST_PUT (data, 6, 64, 8, num); \
_GST_PUT (data, 7, 64, 0, num); \
} while (0)
#define GST_WRITE_UINT64_BE(data, num) do { \
_GST_PUT (data, 0, 64, 56, num); \
_GST_PUT (data, 1, 64, 48, num); \
_GST_PUT (data, 2, 64, 40, num); \
_GST_PUT (data, 3, 64, 32, num); \
_GST_PUT (data, 4, 64, 24, num); \
_GST_PUT (data, 5, 64, 16, num); \
_GST_PUT (data, 6, 64, 8, num); \
_GST_PUT (data, 7, 64, 0, num); \
} while (0)
/**
* GST_WRITE_UINT64_LE:
@ -241,16 +241,16 @@ void gst_print_element_args (GString *buf, gint indent, GstElement *element);
*
* Store a 64 bit unsigned integer value in little endian format into the memory buffer.
*/
#define GST_WRITE_UINT64_LE(data, num) do { \
_GST_PUT (data, 0, 64, 0, num); \
_GST_PUT (data, 1, 64, 8, num); \
_GST_PUT (data, 2, 64, 16, num); \
_GST_PUT (data, 3, 64, 24, num); \
_GST_PUT (data, 4, 64, 32, num); \
_GST_PUT (data, 5, 64, 40, num); \
_GST_PUT (data, 6, 64, 48, num); \
_GST_PUT (data, 7, 64, 56, num); \
} while (0)
#define GST_WRITE_UINT64_LE(data, num) do { \
_GST_PUT (data, 0, 64, 0, num); \
_GST_PUT (data, 1, 64, 8, num); \
_GST_PUT (data, 2, 64, 16, num); \
_GST_PUT (data, 3, 64, 24, num); \
_GST_PUT (data, 4, 64, 32, num); \
_GST_PUT (data, 5, 64, 40, num); \
_GST_PUT (data, 6, 64, 48, num); \
_GST_PUT (data, 7, 64, 56, num); \
} while (0)
/**
* GST_WRITE_UINT32_BE:
@ -259,12 +259,12 @@ void gst_print_element_args (GString *buf, gint indent, GstElement *element);
*
* Store a 32 bit unsigned integer value in big endian format into the memory buffer.
*/
#define GST_WRITE_UINT32_BE(data, num) do { \
_GST_PUT (data, 0, 32, 24, num); \
_GST_PUT (data, 1, 32, 16, num); \
_GST_PUT (data, 2, 32, 8, num); \
_GST_PUT (data, 3, 32, 0, num); \
} while (0)
#define GST_WRITE_UINT32_BE(data, num) do { \
_GST_PUT (data, 0, 32, 24, num); \
_GST_PUT (data, 1, 32, 16, num); \
_GST_PUT (data, 2, 32, 8, num); \
_GST_PUT (data, 3, 32, 0, num); \
} while (0)
/**
* GST_WRITE_UINT32_LE:
@ -273,12 +273,12 @@ void gst_print_element_args (GString *buf, gint indent, GstElement *element);
*
* Store a 32 bit unsigned integer value in little endian format into the memory buffer.
*/
#define GST_WRITE_UINT32_LE(data, num) do { \
_GST_PUT (data, 0, 32, 0, num); \
_GST_PUT (data, 1, 32, 8, num); \
_GST_PUT (data, 2, 32, 16, num); \
_GST_PUT (data, 3, 32, 24, num); \
} while (0)
#define GST_WRITE_UINT32_LE(data, num) do { \
_GST_PUT (data, 0, 32, 0, num); \
_GST_PUT (data, 1, 32, 8, num); \
_GST_PUT (data, 2, 32, 16, num); \
_GST_PUT (data, 3, 32, 24, num); \
} while (0)
/**
* GST_WRITE_UINT24_BE:
@ -289,11 +289,11 @@ void gst_print_element_args (GString *buf, gint indent, GstElement *element);
*
* Since: 0.10.22
*/
#define GST_WRITE_UINT24_BE(data, num) do { \
_GST_PUT (data, 0, 32, 16, num); \
_GST_PUT (data, 1, 32, 8, num); \
_GST_PUT (data, 2, 32, 0, num); \
} while (0)
#define GST_WRITE_UINT24_BE(data, num) do { \
_GST_PUT (data, 0, 32, 16, num); \
_GST_PUT (data, 1, 32, 8, num); \
_GST_PUT (data, 2, 32, 0, num); \
} while (0)
/**
* GST_WRITE_UINT24_LE:
@ -304,11 +304,11 @@ void gst_print_element_args (GString *buf, gint indent, GstElement *element);
*
* Since: 0.10.22
*/
#define GST_WRITE_UINT24_LE(data, num) do { \
_GST_PUT (data, 0, 32, 0, num); \
_GST_PUT (data, 1, 32, 8, num); \
_GST_PUT (data, 2, 32, 16, num); \
} while (0)
#define GST_WRITE_UINT24_LE(data, num) do { \
_GST_PUT (data, 0, 32, 0, num); \
_GST_PUT (data, 1, 32, 8, num); \
_GST_PUT (data, 2, 32, 16, num); \
} while (0)
/**
* GST_WRITE_UINT16_BE:
@ -317,10 +317,10 @@ void gst_print_element_args (GString *buf, gint indent, GstElement *element);
*
* Store a 16 bit unsigned integer value in big endian format into the memory buffer.
*/
#define GST_WRITE_UINT16_BE(data, num) do { \
_GST_PUT (data, 0, 16, 8, num); \
_GST_PUT (data, 1, 16, 0, num); \
} while (0)
#define GST_WRITE_UINT16_BE(data, num) do { \
_GST_PUT (data, 0, 16, 8, num); \
_GST_PUT (data, 1, 16, 0, num); \
} while (0)
/**
* GST_WRITE_UINT16_LE:
@ -329,10 +329,10 @@ void gst_print_element_args (GString *buf, gint indent, GstElement *element);
*
* Store a 16 bit unsigned integer value in little endian format into the memory buffer.
*/
#define GST_WRITE_UINT16_LE(data, num) do { \
_GST_PUT (data, 0, 16, 0, num); \
_GST_PUT (data, 1, 16, 8, num); \
} while (0)
#define GST_WRITE_UINT16_LE(data, num) do { \
_GST_PUT (data, 0, 16, 0, num); \
_GST_PUT (data, 1, 16, 8, num); \
} while (0)
/**
* GST_WRITE_UINT8:
@ -341,9 +341,9 @@ void gst_print_element_args (GString *buf, gint indent, GstElement *element);
*
* Store an 8 bit unsigned integer value into the memory buffer.
*/
#define GST_WRITE_UINT8(data, num) do { \
_GST_PUT (data, 0, 8, 0, num); \
} while (0)
#define GST_WRITE_UINT8(data, num) do { \
_GST_PUT (data, 0, 8, 0, num); \
} while (0)
/* Float endianness conversion macros */
@ -832,39 +832,39 @@ GST_WRITE_DOUBLE_BE(guint8 *data, gdouble num)
*/
#define GST_ROUND_DOWN_64(num) ((num)&(~63))
void gst_object_default_error (GstObject * source,
const GError * error,
const gchar * debug);
void gst_object_default_error (GstObject * source,
const GError * error,
const gchar * debug);
/* element functions */
void gst_element_create_all_pads (GstElement *element);
GstPad* gst_element_get_compatible_pad (GstElement *element, GstPad *pad,
const GstCaps *caps);
const GstCaps *caps);
GstPadTemplate* gst_element_get_compatible_pad_template (GstElement *element, GstPadTemplate *compattempl);
const gchar* gst_element_state_get_name (GstState state);
const gchar * gst_element_state_change_return_get_name (GstStateChangeReturn state_ret);
gboolean gst_element_link (GstElement *src, GstElement *dest);
gboolean gst_element_link_many (GstElement *element_1,
GstElement *element_2, ...) G_GNUC_NULL_TERMINATED;
gboolean gst_element_link_filtered (GstElement * src,
gboolean gst_element_link (GstElement *src, GstElement *dest);
gboolean gst_element_link_many (GstElement *element_1,
GstElement *element_2, ...) G_GNUC_NULL_TERMINATED;
gboolean gst_element_link_filtered (GstElement * src,
GstElement * dest,
GstCaps *filter);
void gst_element_unlink (GstElement *src, GstElement *dest);
void gst_element_unlink_many (GstElement *element_1,
GstElement *element_2, ...) G_GNUC_NULL_TERMINATED;
GstElement *element_2, ...) G_GNUC_NULL_TERMINATED;
gboolean gst_element_link_pads (GstElement *src, const gchar *srcpadname,
GstElement *dest, const gchar *destpadname);
gboolean gst_element_link_pads_full (GstElement *src, const gchar *srcpadname,
GstElement *dest, const gchar *destpadname,
GstPadLinkCheck flags);
gboolean gst_element_link_pads (GstElement *src, const gchar *srcpadname,
GstElement *dest, const gchar *destpadname);
gboolean gst_element_link_pads_full (GstElement *src, const gchar *srcpadname,
GstElement *dest, const gchar *destpadname,
GstPadLinkCheck flags);
void gst_element_unlink_pads (GstElement *src, const gchar *srcpadname,
GstElement *dest, const gchar *destpadname);
GstElement *dest, const gchar *destpadname);
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,
GstCaps *filter);
@ -883,28 +883,28 @@ gboolean gst_element_factory_can_src_any_caps (GstElementFactory *factory, cons
gboolean gst_element_query_position (GstElement *element, GstFormat format, gint64 *cur);
gboolean gst_element_query_duration (GstElement *element, GstFormat format, gint64 *duration);
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);
/* element class functions */
void gst_element_class_install_std_props (GstElementClass * klass,
const gchar * first_name, ...) G_GNUC_NULL_TERMINATED;
void gst_element_class_install_std_props (GstElementClass * klass,
const gchar * first_name, ...) G_GNUC_NULL_TERMINATED;
/* pad functions */
void gst_pad_use_fixed_caps (GstPad *pad);
GstCaps* gst_pad_proxy_getcaps (GstPad * pad, GstCaps * filter);
void gst_pad_use_fixed_caps (GstPad *pad);
GstCaps* gst_pad_proxy_getcaps (GstPad * pad, GstCaps * filter);
GstElement* gst_pad_get_parent_element (GstPad *pad);
GstElement* gst_pad_get_parent_element (GstPad *pad);
/* util query functions */
gboolean gst_pad_query_position (GstPad *pad, GstFormat format, gint64 *cur);
gboolean gst_pad_query_duration (GstPad *pad, GstFormat format, gint64 *duration);
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);
gboolean gst_pad_query_peer_position (GstPad *pad, GstFormat format, gint64 *cur);
gboolean gst_pad_query_peer_duration (GstPad *pad, GstFormat format, gint64 *duration);
gboolean gst_pad_query_peer_convert (GstPad *pad, GstFormat src_format, gint64 src_val,
GstFormat dest_format, gint64 *dest_val);
GstFormat dest_format, gint64 *dest_val);
/* bin functions */
void gst_bin_add_many (GstBin *bin, GstElement *element_1, ...) G_GNUC_NULL_TERMINATED;
@ -912,8 +912,8 @@ void gst_bin_remove_many (GstBin *bin, GstElement
GstPad * gst_bin_find_unlinked_pad (GstBin *bin, GstPadDirection direction);
/* buffer functions */
GstBuffer * gst_buffer_merge (GstBuffer * buf1, GstBuffer * buf2);
GstBuffer * gst_buffer_join (GstBuffer * buf1, GstBuffer * buf2);
GstBuffer * gst_buffer_merge (GstBuffer * buf1, GstBuffer * buf2);
GstBuffer * gst_buffer_join (GstBuffer * buf1, GstBuffer * buf2);
/* parse utility functions */
GstElement * gst_parse_bin_from_description (const gchar * bin_description,
@ -944,17 +944,22 @@ typedef enum {
GST_SEARCH_MODE_AFTER
} GstSearchMode;
gpointer gst_util_array_binary_search (gpointer array, guint num_elements,
gsize element_size, GCompareDataFunc search_func,
GstSearchMode mode, gconstpointer search_data,
gpointer user_data);
gpointer gst_util_array_binary_search (gpointer array, guint num_elements,
gsize element_size, GCompareDataFunc search_func,
GstSearchMode mode, gconstpointer search_data,
gpointer user_data);
gint gst_util_greatest_common_divisor (gint a, gint b);
void gst_util_fraction_to_double (gint src_n, gint src_d, gdouble *dest);
void gst_util_double_to_fraction (gdouble src, gint *dest_n, gint *dest_d);
gboolean gst_util_fraction_multiply (gint a_n, gint a_d, gint b_n, gint b_d, gint *res_n, gint *res_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 gst_util_fraction_compare (gint a_n, gint a_d, gint b_n, gint b_d);
/* fraction operations */
gint gst_util_greatest_common_divisor (gint a, gint b);
void gst_util_fraction_to_double (gint src_n, gint src_d, gdouble *dest);
void gst_util_double_to_fraction (gdouble src, gint *dest_n, gint *dest_d);
gboolean gst_util_fraction_multiply (gint a_n, gint a_d, gint b_n, gint b_d,
gint *res_n, gint *res_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 gst_util_fraction_compare (gint a_n, gint a_d, gint b_n, gint b_d);
G_END_DECLS

View file

@ -125,7 +125,7 @@ G_BEGIN_DECLS
*
* Checks if the given #GValue contains a #GST_TYPE_LIST value.
*/
#define GST_VALUE_HOLDS_LIST(x) (G_VALUE_HOLDS((x), gst_value_list_get_type ()))
#define GST_VALUE_HOLDS_LIST(x) (G_VALUE_HOLDS((x), gst_value_list_get_type ()))
/**
* GST_VALUE_HOLDS_ARRAY:
@ -133,7 +133,7 @@ G_BEGIN_DECLS
*
* Checks if the given #GValue contains a #GST_TYPE_ARRAY value.
*/
#define GST_VALUE_HOLDS_ARRAY(x) (G_VALUE_HOLDS((x), gst_value_array_get_type ()))
#define GST_VALUE_HOLDS_ARRAY(x) (G_VALUE_HOLDS((x), gst_value_array_get_type ()))
/**
* GST_VALUE_HOLDS_CAPS:
@ -141,7 +141,7 @@ G_BEGIN_DECLS
*
* Checks if the given #GValue contains a #GST_TYPE_CAPS value.
*/
#define GST_VALUE_HOLDS_CAPS(x) (G_VALUE_HOLDS((x), GST_TYPE_CAPS))
#define GST_VALUE_HOLDS_CAPS(x) (G_VALUE_HOLDS((x), GST_TYPE_CAPS))
/**
* GST_VALUE_HOLDS_STRUCTURE:
@ -151,7 +151,7 @@ G_BEGIN_DECLS
*
* Since: 0.10.15
*/
#define GST_VALUE_HOLDS_STRUCTURE(x) (G_VALUE_HOLDS((x), GST_TYPE_STRUCTURE))
#define GST_VALUE_HOLDS_STRUCTURE(x) (G_VALUE_HOLDS((x), GST_TYPE_STRUCTURE))
/**
* GST_VALUE_HOLDS_BUFFER:
@ -167,7 +167,7 @@ G_BEGIN_DECLS
*
* Checks if the given #GValue contains a #GST_TYPE_FRACTION value.
*/
#define GST_VALUE_HOLDS_FRACTION(x) (G_VALUE_HOLDS((x), gst_fraction_get_type ()))
#define GST_VALUE_HOLDS_FRACTION(x) (G_VALUE_HOLDS((x), gst_fraction_get_type ()))
/**
* GST_VALUE_HOLDS_DATE:
@ -250,7 +250,7 @@ G_BEGIN_DECLS
*
* Returns: the #GType of GstArrayList (which is not explicitly typed)
*/
#define GST_TYPE_ARRAY gst_value_array_get_type ()
#define GST_TYPE_ARRAY gst_value_array_get_type ()
/**
* GST_TYPE_FRACTION:
@ -327,7 +327,7 @@ G_BEGIN_DECLS
* or GST_VALUE_UNORDERED
*/
typedef gint (* GstValueCompareFunc) (const GValue *value1,
const GValue *value2);
const GValue *value2);
/**
* GstValueSerializeFunc:
@ -351,7 +351,7 @@ typedef gchar * (* GstValueSerializeFunc) (const GValue *value1);
* Returns: %TRUE for success
*/
typedef gboolean (* GstValueDeserializeFunc) (GValue *dest,
const gchar *s);
const gchar *s);
/**
* GstValueUnionFunc:
@ -365,8 +365,8 @@ typedef gboolean (* GstValueDeserializeFunc) (GValue *dest,
* Returns: %TRUE if a union was successful
*/
typedef gboolean (* GstValueUnionFunc) (GValue *dest,
const GValue *value1,
const GValue *value2);
const GValue *value1,
const GValue *value2);
/**
* GstValueIntersectFunc:
@ -383,8 +383,8 @@ typedef gboolean (* GstValueUnionFunc) (GValue *dest,
* Returns: %TRUE if the values can intersect
*/
typedef gboolean (* GstValueIntersectFunc) (GValue *dest,
const GValue *value1,
const GValue *value2);
const GValue *value1,
const GValue *value2);
/**
* GstValueSubtractFunc:
@ -398,8 +398,8 @@ typedef gboolean (* GstValueIntersectFunc) (GValue *dest,
* Returns: %TRUE if the subtraction is not empty
*/
typedef gboolean (* GstValueSubtractFunc) (GValue *dest,
const GValue *minuend,
const GValue *subtrahend);
const GValue *minuend,
const GValue *subtrahend);
typedef struct _GstValueTable GstValueTable;
/**
@ -418,7 +418,7 @@ struct _GstValueTable {
GstValueDeserializeFunc deserialize;
/*< private >*/
void *_gst_reserved [GST_PADDING];
gpointer _gst_reserved [GST_PADDING];
};
GType gst_int_range_get_type (void);
@ -432,137 +432,137 @@ GType gst_value_array_get_type (void);
GType gst_date_get_type (void);
GType gst_date_time_get_type (void);
void gst_value_register (const GstValueTable *table);
void gst_value_init_and_copy (GValue *dest,
const GValue *src);
void gst_value_register (const GstValueTable *table);
void gst_value_init_and_copy (GValue *dest,
const GValue *src);
gchar * gst_value_serialize (const GValue *value);
gboolean gst_value_deserialize (GValue *dest,
const gchar *src);
gchar * gst_value_serialize (const GValue *value);
gboolean gst_value_deserialize (GValue *dest,
const gchar *src);
/* list */
void gst_value_list_append_value (GValue *value,
const GValue *append_value);
void gst_value_list_prepend_value (GValue *value,
const GValue *prepend_value);
void gst_value_list_concat (GValue *dest,
const GValue *value1,
const GValue *value2);
void gst_value_list_merge (GValue *dest,
const GValue *value1,
const GValue *value2);
guint gst_value_list_get_size (const GValue *value);
const GValue * gst_value_list_get_value (const GValue *value,
guint index);
void gst_value_list_append_value (GValue *value,
const GValue *append_value);
void gst_value_list_prepend_value (GValue *value,
const GValue *prepend_value);
void gst_value_list_concat (GValue *dest,
const GValue *value1,
const GValue *value2);
void gst_value_list_merge (GValue *dest,
const GValue *value1,
const GValue *value2);
guint gst_value_list_get_size (const GValue *value);
const GValue * gst_value_list_get_value (const GValue *value,
guint index);
/* array */
void gst_value_array_append_value (GValue *value,
const GValue *append_value);
void gst_value_array_prepend_value (GValue *value,
const GValue *prepend_value);
guint gst_value_array_get_size (const GValue *value);
const GValue * gst_value_array_get_value (const GValue *value,
guint index);
void gst_value_array_append_value (GValue *value,
const GValue *append_value);
void gst_value_array_prepend_value (GValue *value,
const GValue *prepend_value);
guint gst_value_array_get_size (const GValue *value);
const GValue * gst_value_array_get_value (const GValue *value,
guint index);
/* int range */
void gst_value_set_int_range (GValue *value,
gint start,
gint end);
gint gst_value_get_int_range_min (const GValue *value);
gint gst_value_get_int_range_max (const GValue *value);
void gst_value_set_int_range (GValue *value,
gint start,
gint end);
gint gst_value_get_int_range_min (const GValue *value);
gint gst_value_get_int_range_max (const GValue *value);
/* int64 range */
void gst_value_set_int64_range (GValue *value,
gint64 start,
gint64 end);
gint64 gst_value_get_int64_range_min (const GValue *value);
gint64 gst_value_get_int64_range_max (const GValue *value);
void gst_value_set_int64_range (GValue *value,
gint64 start,
gint64 end);
gint64 gst_value_get_int64_range_min (const GValue *value);
gint64 gst_value_get_int64_range_max (const GValue *value);
/* double range */
void gst_value_set_double_range (GValue *value,
gdouble start,
gdouble end);
gdouble gst_value_get_double_range_min (const GValue *value);
gdouble gst_value_get_double_range_max (const GValue *value);
void gst_value_set_double_range (GValue *value,
gdouble start,
gdouble end);
gdouble gst_value_get_double_range_min (const GValue *value);
gdouble gst_value_get_double_range_max (const GValue *value);
/* caps */
const GstCaps * gst_value_get_caps (const GValue *value);
void gst_value_set_caps (GValue *value,
const GstCaps *caps);
const GstCaps * gst_value_get_caps (const GValue *value);
void gst_value_set_caps (GValue *value,
const GstCaps *caps);
/* structure */
const GstStructure *
gst_value_get_structure (const GValue *value);
void gst_value_set_structure (GValue *value,
const GstStructure *structure);
gst_value_get_structure (const GValue *value);
void gst_value_set_structure (GValue *value,
const GstStructure *structure);
/* fraction */
void gst_value_set_fraction (GValue *value,
gint numerator,
gint denominator);
gint gst_value_get_fraction_numerator (const GValue *value);
gint gst_value_get_fraction_denominator(const GValue *value);
gboolean gst_value_fraction_multiply (GValue *product,
const GValue *factor1,
const GValue *factor2);
gboolean gst_value_fraction_subtract (GValue * dest,
const GValue * minuend,
const GValue * subtrahend);
void gst_value_set_fraction (GValue *value,
gint numerator,
gint denominator);
gint gst_value_get_fraction_numerator (const GValue *value);
gint gst_value_get_fraction_denominator (const GValue *value);
gboolean gst_value_fraction_multiply (GValue *product,
const GValue *factor1,
const GValue *factor2);
gboolean gst_value_fraction_subtract (GValue * dest,
const GValue * minuend,
const GValue * subtrahend);
/* fraction range */
void gst_value_set_fraction_range (GValue *value,
const GValue *start,
const GValue *end);
void gst_value_set_fraction_range_full (GValue *value,
gint numerator_start,
gint denominator_start,
gint numerator_end,
gint denominator_end);
const GValue *gst_value_get_fraction_range_min (const GValue *value);
const GValue *gst_value_get_fraction_range_max (const GValue *value);
void gst_value_set_fraction_range (GValue *value,
const GValue *start,
const GValue *end);
void gst_value_set_fraction_range_full (GValue *value,
gint numerator_start,
gint denominator_start,
gint numerator_end,
gint denominator_end);
const GValue *gst_value_get_fraction_range_min (const GValue *value);
const GValue *gst_value_get_fraction_range_max (const GValue *value);
/* date */
const GDate * gst_value_get_date (const GValue *value);
void gst_value_set_date (GValue *value,
const GDate *date);
const GDate * gst_value_get_date (const GValue *value);
void gst_value_set_date (GValue *value,
const GDate *date);
/* compare */
gint gst_value_compare (const GValue *value1,
const GValue *value2);
gboolean gst_value_can_compare (const GValue *value1,
const GValue *value2);
gint gst_value_compare (const GValue *value1,
const GValue *value2);
gboolean gst_value_can_compare (const GValue *value1,
const GValue *value2);
/* union */
gboolean gst_value_union (GValue *dest,
const GValue *value1,
const GValue *value2);
gboolean gst_value_can_union (const GValue *value1,
const GValue *value2);
void gst_value_register_union_func (GType type1,
GType type2,
GstValueUnionFunc func);
gboolean gst_value_union (GValue *dest,
const GValue *value1,
const GValue *value2);
gboolean gst_value_can_union (const GValue *value1,
const GValue *value2);
void gst_value_register_union_func (GType type1,
GType type2,
GstValueUnionFunc func);
/* intersection */
gboolean gst_value_intersect (GValue *dest,
const GValue *value1,
const GValue *value2);
gboolean gst_value_can_intersect (const GValue *value1,
const GValue *value2);
void gst_value_register_intersect_func (GType type1,
GType type2,
GstValueIntersectFunc func);
gboolean gst_value_intersect (GValue *dest,
const GValue *value1,
const GValue *value2);
gboolean gst_value_can_intersect (const GValue *value1,
const GValue *value2);
void gst_value_register_intersect_func (GType type1,
GType type2,
GstValueIntersectFunc func);
/* subtraction */
gboolean gst_value_subtract (GValue *dest,
const GValue *minuend,
const GValue *subtrahend);
gboolean gst_value_can_subtract (const GValue *minuend,
const GValue *subtrahend);
void gst_value_register_subtract_func (GType minuend_type,
GType subtrahend_type,
GstValueSubtractFunc func);
gboolean gst_value_subtract (GValue *dest,
const GValue *minuend,
const GValue *subtrahend);
gboolean gst_value_can_subtract (const GValue *minuend,
const GValue *subtrahend);
void gst_value_register_subtract_func (GType minuend_type,
GType subtrahend_type,
GstValueSubtractFunc func);
/* fixation */
gboolean gst_value_is_fixed (const GValue *value);
gboolean gst_value_is_fixed (const GValue *value);
gboolean gst_value_fixate (GValue *dest,
const GValue *src);