|  |  |  | GStreamer 0.10 Core Reference Manual |  | 
|---|
| GStreamer GValue typesGStreamer GValue types — GValue implementations specific to GStreamer | 
#include <gst/gst.h> #define GST_VALUE_HOLDS_FOURCC (x) #define GST_MAKE_FOURCC (a,b,c,d) #define GST_STR_FOURCC (f) #define GST_FOURCC_FORMAT #define GST_FOURCC_ARGS (fourcc) #define GST_TYPE_FOURCC void gst_value_set_fourcc (GValue *value, guint32 fourcc); guint32 gst_value_get_fourcc (const GValue *value); #define GST_VALUE_HOLDS_INT_RANGE (x) #define GST_TYPE_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); #define GST_VALUE_HOLDS_DOUBLE_RANGE (x) #define GST_TYPE_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); #define GST_VALUE_HOLDS_LIST (x) #define GST_TYPE_LIST #define GST_VALUE_HOLDS_ARRAY (x) #define GST_TYPE_ARRAY 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); guint gst_value_list_get_size (const GValue *value); const GValue* gst_value_list_get_value (const GValue *value, guint index); #define GST_VALUE_HOLDS_FRACTION (x) #define GST_TYPE_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); #define GST_VALUE_HOLDS_FRACTION_RANGE (x) #define GST_TYPE_FRACTION_RANGE void gst_value_set_fraction_range (GValue *value, const GValue *start, const GValue *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_full (GValue *value, gint numerator_start, gint denominator_start, gint numerator_end, gint denominator_end); #define GST_VALUE_HOLDS_DATE (x) #define GST_TYPE_DATE void gst_value_set_date (GValue *value, const GDate *date); const GDate* gst_value_get_date (const GValue *value); #define GST_VALUE_HOLDS_CAPS (x) void gst_value_set_caps (GValue *value, const GstCaps *caps); const GstCaps* gst_value_get_caps (const GValue *value); #define GST_VALUE_HOLDS_MINI_OBJECT (value) #define GST_VALUE_HOLDS_BUFFER (x) #define gst_value_get_buffer (v) #define gst_value_set_buffer (v,b) #define gst_value_take_buffer (v,b) #define GST_VALUE_LESS_THAN #define GST_VALUE_EQUAL #define GST_VALUE_GREATER_THAN #define GST_VALUE_UNORDERED gint (*GstValueCompareFunc) (const GValue *value1, const GValue *value2); gchar* (*GstValueSerializeFunc) (const GValue *value1); gboolean (*GstValueDeserializeFunc) (GValue *dest, const gchar *s); gboolean (*GstValueUnionFunc) (GValue *dest, const GValue *value1, const GValue *value2); gboolean (*GstValueIntersectFunc) (GValue *dest, const GValue *value1, const GValue *value2); gboolean (*GstValueSubtractFunc) (GValue *dest, const GValue *minuend, const GValue *subtrahend); GstValueTable; gboolean gst_value_is_fixed (const GValue *value); 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); gint gst_value_compare (const GValue *value1, const GValue *value2); gboolean gst_value_can_compare (const GValue *value1, const GValue *value2); 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_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_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); void gst_value_array_append_value (GValue *value, const GValue *append_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_prepend_value (GValue *value, const GValue *prepend_value);
#define GST_VALUE_HOLDS_FOURCC(x) (G_VALUE_HOLDS(x, gst_fourcc_get_type ()))
Checks if the given GValue contains a GST_TYPE_FOURCC value.
| x: | the GValue to check | 
#define GST_MAKE_FOURCC(a,b,c,d) (guint32)((a)|(b)<<8|(c)<<16|(d)<<24)
Transform four characters into a guint32 fourcc value with host endianness.
guint32 fourcc = GST_MAKE_FOURCC ('M', 'J', 'P', 'G');
| a: | the first character | 
| b: | the second character | 
| c: | the third character | 
| d: | the fourth character | 
#define GST_STR_FOURCC(f) (guint32)(((f)[0])|((f)[1]<<8)|((f)[2]<<16)|((f)[3]<<24))
Transform an input string into a guint32 fourcc value with host endianness. Caller is responsible for ensuring the input string consists of at least four characters.
guint32 fourcc = GST_STR_FOURCC ("MJPG");
| f: | a string with at least four characters | 
#define GST_FOURCC_FORMAT "c%c%c%c"
Can be used together with GST_FOURCC_ARGS to properly output a
guint32 fourcc value in a printf()-style text message.
printf ("fourcc: %" GST_FOURCC_FORMAT "\n", GST_FOURCC_ARGS (fcc));
#define GST_FOURCC_ARGS(fourcc)
Can be used together with GST_FOURCC_FORMAT to properly output a
guint32 fourcc value in a printf()-style text message.
| fourcc: | a guint32 fourcc value to output | 
#define GST_TYPE_FOURCC gst_fourcc_get_type ()
a GValue type that represents 4 byte identifier (e.g. used for codecs)
void gst_value_set_fourcc (GValue *value, guint32 fourcc);
Sets value to fourcc.
| value: | a GValue initialized to GST_TYPE_FOURCC | 
| fourcc: | the guint32 fourcc to set | 
guint32 gst_value_get_fourcc (const GValue *value);
Gets the guint32 fourcc contained in value.
| value: | a GValue initialized to GST_TYPE_FOURCC | 
| Returns : | the guint32 fourcc contained in value. | 
#define GST_VALUE_HOLDS_INT_RANGE(x) (G_VALUE_HOLDS(x, gst_int_range_get_type ()))
Checks if the given GValue contains a GST_TYPE_INT_RANGE value.
| x: | the GValue to check | 
#define GST_TYPE_INT_RANGE gst_int_range_get_type ()
a GValue type that represents an integer range
void gst_value_set_int_range (GValue *value, gint start, gint end);
Sets value to the range specified by start and end.
| value: | a GValue initialized to GST_TYPE_INT_RANGE | 
| start: | the start of the range | 
| end: | the end of the range | 
gint gst_value_get_int_range_min (const GValue *value);
Gets the minimum of the range specified by value.
| value: | a GValue initialized to GST_TYPE_INT_RANGE | 
| Returns : | the minimum of the range | 
gint gst_value_get_int_range_max (const GValue *value);
Gets the maximum of the range specified by value.
| value: | a GValue initialized to GST_TYPE_INT_RANGE | 
| Returns : | the maxumum of the range | 
#define GST_VALUE_HOLDS_DOUBLE_RANGE(x) (G_VALUE_HOLDS(x, gst_double_range_get_type ()))
Checks if the given GValue contains a GST_TYPE_DOUBLE_RANGE value.
| x: | the GValue to check | 
#define GST_TYPE_DOUBLE_RANGE gst_double_range_get_type ()
a GValue type that represents a floating point range with double precission
void gst_value_set_double_range (GValue *value, gdouble start, gdouble end);
Sets value to the range specified by start and end.
| value: | a GValue initialized to GST_TYPE_DOUBLE_RANGE | 
| start: | the start of the range | 
| end: | the end of the range | 
gdouble gst_value_get_double_range_min (const GValue *value);
Gets the minimum of the range specified by value.
| value: | a GValue initialized to GST_TYPE_DOUBLE_RANGE | 
| Returns : | the minumum of the range | 
gdouble gst_value_get_double_range_max (const GValue *value);
Gets the maximum of the range specified by value.
| value: | a GValue initialized to GST_TYPE_DOUBLE_RANGE | 
| Returns : | the maxumum of the range | 
#define GST_VALUE_HOLDS_LIST(x) (G_VALUE_HOLDS(x, gst_value_list_get_type ()))
Checks if the given GValue contains a GST_TYPE_LIST value.
| x: | the GValue to check | 
#define GST_TYPE_LIST gst_value_list_get_type ()
a GValue type that represents an unordered list of GValue values
#define GST_VALUE_HOLDS_ARRAY(x) (G_VALUE_HOLDS(x, gst_value_array_get_type ()))
Checks if the given GValue contains a GST_TYPE_ARRAY value.
| x: | the GValue to check | 
#define GST_TYPE_ARRAY gst_value_array_get_type ()
a GValue type that represents an ordered list of GValue values
void gst_value_list_append_value (GValue *value, const GValue *append_value);
Appends append_value to the GstValueList in value.
| value: | a GValue of type GST_TYPE_LIST | 
| append_value: | the value to append | 
void gst_value_list_prepend_value (GValue *value, const GValue *prepend_value);
Prepends prepend_value to the GstValueList in value.
| value: | a GValue of type GST_TYPE_LIST | 
| prepend_value: | the value to prepend | 
void gst_value_list_concat (GValue *dest, const GValue *value1, const GValue *value2);
Concatenates copies of value1 and value2 into a list.  Values that are not
of type GST_TYPE_LIST are treated as if they were lists of length 1.
dest will be initialized to the type GST_TYPE_LIST.
guint gst_value_list_get_size (const GValue *value);
Gets the number of values contained in value.
| value: | a GValue of type GST_TYPE_LIST | 
| Returns : | the number of values | 
const GValue* gst_value_list_get_value (const GValue *value, guint index);
Gets the value that is a member of the list contained in value and
has the index index.
| value: | a GValue of type GST_TYPE_LIST | 
| index: | index of value to get from the list | 
| Returns : | the value at the given index | 
#define GST_VALUE_HOLDS_FRACTION(x) (G_VALUE_HOLDS(x, gst_fraction_get_type ()))
Checks if the given GValue contains a GST_TYPE_FRACTION value.
| x: | the GValue to check | 
#define GST_TYPE_FRACTION gst_fraction_get_type ()
a GValue type that represents a fraction of an integer numerator over an integer denominator
void gst_value_set_fraction (GValue *value, gint numerator, gint denominator);
Sets value to the fraction specified by numerator over denominator.
The fraction gets reduced to the smallest numerator and denominator,
and if necessary the sign is moved to the numerator.
| value: | a GValue initialized to GST_TYPE_FRACTION | 
| numerator: | the numerator of the fraction | 
| denominator: | the denominator of the fraction | 
gint gst_value_get_fraction_numerator (const GValue *value);
Gets the numerator of the fraction specified by value.
| value: | a GValue initialized to GST_TYPE_FRACTION | 
| Returns : | the numerator of the fraction. | 
gint gst_value_get_fraction_denominator (const GValue *value);
Gets the denominator of the fraction specified by value.
| value: | a GValue initialized to GST_TYPE_FRACTION | 
| Returns : | the denominator of the fraction. | 
gboolean gst_value_fraction_multiply (GValue *product, const GValue *factor1, const GValue *factor2);
Multiplies the two GValues containing a GstFraction and sets product
to the product of the two fractions.
| product: | a GValue initialized to GST_TYPE_FRACTION | 
| factor1: | a GValue initialized to GST_TYPE_FRACTION | 
| factor2: | a GValue initialized to GST_TYPE_FRACTION | 
| Returns : | FALSE in case of an error (like integer overflow), TRUE otherwise. | 
gboolean gst_value_fraction_subtract (GValue *dest, const GValue *minuend, const GValue *subtrahend);
Subtracts the subtrahend from the minuend and sets dest to the result.
| dest: | a GValue initialized to GST_TYPE_FRACTION | 
| minuend: | a GValue initialized to GST_TYPE_FRACTION | 
| subtrahend: | a GValue initialized to GST_TYPE_FRACTION | 
| Returns : | FALSE in case of an error (like integer overflow), TRUE otherwise. | 
#define GST_VALUE_HOLDS_FRACTION_RANGE(x) (G_VALUE_HOLDS(x, gst_fraction_range_get_type ()))
Checks if the given GValue contains a GST_TYPE_FRACTION_RANGE value.
| x: | the GValue to check | 
#define GST_TYPE_FRACTION_RANGE gst_fraction_range_get_type ()
a GValue type that represents a GstFraction range
void gst_value_set_fraction_range (GValue *value, const GValue *start, const GValue *end);
Sets value to the range specified by start and end.
| value: | a GValue initialized to GST_TYPE_FRACTION_RANGE | 
| start: | the start of the range (a GST_TYPE_FRACTION GValue) | 
| end: | the end of the range (a GST_TYPE_FRACTION GValue) | 
const GValue* gst_value_get_fraction_range_min (const GValue *value);
Gets the minimum of the range specified by value.
| value: | a GValue initialized to GST_TYPE_FRACTION_RANGE | 
| Returns : | the minumum of the range | 
const GValue* gst_value_get_fraction_range_max (const GValue *value);
Gets the maximum of the range specified by value.
| value: | a GValue initialized to GST_TYPE_FRACTION_RANGE | 
| Returns : | the maximum of the range | 
void        gst_value_set_fraction_range_full
                                            (GValue *value,
                                             gint numerator_start,
                                             gint denominator_start,
                                             gint numerator_end,
                                             gint denominator_end);
Sets value to the range specified by numerator_start/denominator_start
and numerator_end/denominator_end.
| value: | a GValue initialized to GST_TYPE_FRACTION_RANGE | 
| numerator_start: | the numerator start of the range | 
| denominator_start: | the denominator start of the range | 
| numerator_end: | the numerator end of the range | 
| denominator_end: | the denominator end of the range | 
#define GST_VALUE_HOLDS_DATE(x) (G_VALUE_HOLDS(x, gst_date_get_type ()))
Checks if the given GValue contains a GST_TYPE_DATE value.
| x: | the GValue to check | 
#define GST_TYPE_DATE gst_date_get_type ()
a boxed GValue type for GDate that represents a date.
void gst_value_set_date (GValue *value, const GDate *date);
Sets the contents of value to coorespond to date.  The actual
GDate structure is copied before it is used.
| value: | a GValue initialized to GST_TYPE_DATE | 
| date: | the date to set the value to | 
const GDate* gst_value_get_date (const GValue *value);
Gets the contents of value.
| value: | a GValue initialized to GST_TYPE_DATE | 
| Returns : | the contents of value | 
#define GST_VALUE_HOLDS_CAPS(x) (G_VALUE_HOLDS(x, GST_TYPE_CAPS))
Checks if the given GValue contains a GST_TYPE_CAPS value.
| x: | the GValue to check | 
void gst_value_set_caps (GValue *value, const GstCaps *caps);
Sets the contents of value to coorespond to caps.  The actual
GstCaps structure is copied before it is used.
| value: | a GValue initialized to GST_TYPE_CAPS | 
| caps: | the caps to set the value to | 
const GstCaps* gst_value_get_caps (const GValue *value);
Gets the contents of value.
| value: | a GValue initialized to GST_TYPE_CAPS | 
| Returns : | the contents of value | 
#define GST_VALUE_HOLDS_MINI_OBJECT(value) (G_VALUE_HOLDS(value, GST_TYPE_MINI_OBJECT))
Checks if the given GValue contains a GST_TYPE_MINI_OBJECT value.
| value: | the GValue to check | 
#define GST_VALUE_HOLDS_BUFFER(x) (G_VALUE_HOLDS(x, GST_TYPE_BUFFER))
Checks if the given GValue contains a GST_TYPE_BUFFER value.
| x: | the GValue to check | 
#define gst_value_get_buffer(v) GST_BUFFER (gst_value_get_mini_object(v))
Receives a GstBuffer as the value of v. This function does not
increase the refcount of the returned buffer so the buffer remains
valid as long as you own a refcount to the GstValue.
| v: | a GstValue to qeury | 
#define gst_value_set_buffer(v,b) gst_value_set_mini_object(v, GST_MINI_OBJECT(b))
Sets b as the value of v, correclty incrementing the refcount of
the buffer.
| v: | a GstValue to receive the data | 
| b: | a GstBuffer to assign to the GstValue | 
#define gst_value_take_buffer(v,b) gst_value_take_mini_object(v, GST_MINI_OBJECT(b))
Sets b as the value of v, this function lets the GstValue
take ownership of the buffer.
| v: | a GstValue to receive the data | 
| b: | a GstBuffer to assign to the GstValue | 
#define GST_VALUE_LESS_THAN (-1)
Indicates that the first value provided to a comparison function
(gst_value_compare()) is lesser than the second one.
#define GST_VALUE_EQUAL 0
Indicates that the first value provided to a comparison function
(gst_value_compare()) is equal to the second one.
#define GST_VALUE_GREATER_THAN 1
Indicates that the first value provided to a comparison function
(gst_value_compare()) is greater than the second one.
#define GST_VALUE_UNORDERED 2
Indicates that the comparison function (gst_value_compare()) can not
determine a order for the two provided values.
gint (*GstValueCompareFunc) (const GValue *value1, const GValue *value2);
Used together with gst_value_compare() to compare GValues.
| value1: | first value for comparission | 
| value2: | second value for comparission | 
| Returns : | one of GST_VALUE_LESS_THAN, GST_VALUE_EQUAL, GST_VALUE_GREATER_THAN or GST_VALUE_UNORDERED | 
gchar* (*GstValueSerializeFunc) (const GValue *value1);
Used by gst_value_serialize() to obtain a non-binary form of the GValue.
| value1: | a GValue | 
| Returns : | the string representation of the value | 
gboolean (*GstValueDeserializeFunc) (GValue *dest, const gchar *s);
Used by gst_value_deserialize() to parse a non-binary form into the GValue.
| dest: | a GValue | 
| s: | a string | 
| Returns : | TRUEfor success | 
gboolean (*GstValueUnionFunc) (GValue *dest, const GValue *value1, const GValue *value2);
Used by gst_value_union() to perform unification for a specific GValue
type. Register a new implementation with gst_value_register_union_func().
gboolean (*GstValueIntersectFunc) (GValue *dest, const GValue *value1, const GValue *value2);
Used by gst_value_intersect() to perform intersection for a specific GValue
type. If the intersection is non-empty, the result is
placed in dest and TRUE is returned.  If the intersection is
empty, dest is unmodified and FALSE is returned.
Register a new implementation with gst_value_register_intersection_func().
gboolean (*GstValueSubtractFunc) (GValue *dest, const GValue *minuend, const GValue *subtrahend);
Used by gst_value_subtract() to perform subtraction for a specific GValue
type. Register a new implementation with gst_value_register_subtract_func().
typedef struct {
  GType type;
  GstValueCompareFunc compare;
  GstValueSerializeFunc serialize;
  GstValueDeserializeFunc deserialize;
} GstValueTable;
VTable for the GValue type.
| GType type; | a GType | 
| GstValueCompareFunc compare; | a GstValueCompareFunc | 
| GstValueSerializeFunc serialize; | a GstValueSerializeFunc | 
| GstValueDeserializeFunc deserialize; | a GstValueDeserializeFunc | 
gboolean gst_value_is_fixed (const GValue *value);
Tests if the given GValue, if available in a GstStructure (or any other container) contains a "fixed" (which means: one value) or an "unfixed" (which means: multiple possible values, such as data lists or data ranges) value.
| value: | the GValue to check | 
| Returns : | true if the value is "fixed". | 
void gst_value_register (const GstValueTable *table);
Registers functions to perform calculations on GValues of a given type.
| table: | structure containing functions to register | 
void gst_value_init_and_copy (GValue *dest, const GValue *src);
Initialises the target value to be of the same type as source and then copies the contents from source to target.
| dest: | the target value | 
| src: | the source value | 
gchar* gst_value_serialize (const GValue *value);
tries to transform the given value into a string representation that allows
getting back this string later on using gst_value_deserialize().
| value: | a GValue to serialize | 
| Returns : | the serialization for valueor NULL if none exists | 
gboolean gst_value_deserialize (GValue *dest, const gchar *src);
Tries to deserialize a string into the type specified by the given GValue. If the operation succeeds, TRUE is returned, FALSE otherwise.
| dest: | GValue to fill with contents of deserialization | 
| src: | string to deserialize | 
| Returns : | TRUE on success | 
gint gst_value_compare (const GValue *value1, const GValue *value2);
Compares value1 and value2.  If value1 and value2 cannot be
compared, the function returns GST_VALUE_UNORDERED.  Otherwise,
if value1 is greater than value2, GST_VALUE_GREATER is returned.
If value1 is less than value2, GST_VALUE_LESSER is returned.
If the values are equal, GST_VALUE_EQUAL is returned.
| value1: | a value to compare | 
| value2: | another value to compare | 
| Returns : | A GstValueCompareType value | 
gboolean gst_value_can_compare (const GValue *value1, const GValue *value2);
Determines if value1 and value2 can be compared.
| value1: | a value to compare | 
| value2: | another value to compare | 
| Returns : | TRUE if the values can be compared | 
gboolean gst_value_union (GValue *dest, const GValue *value1, const GValue *value2);
Creates a GValue cooresponding to the union of value1 and value2.
| dest: | the destination value | 
| value1: | a value to union | 
| value2: | another value to union | 
| Returns : | always returns TRUE | 
gboolean gst_value_can_union (const GValue *value1, const GValue *value2);
Determines if value1 and value2 can be non-trivially unioned.
Any two values can be trivially unioned by adding both of them
to a GstValueList.  However, certain types have the possibility
to be unioned in a simpler way.  For example, an integer range
and an integer can be unioned if the integer is a subset of the
integer range.  If there is the possibility that two values can
be unioned, this function returns TRUE.
| value1: | a value to union | 
| value2: | another value to union | 
| Returns : | TRUE if there is a function allowing the two values to be unioned. | 
void gst_value_register_union_func (GType type1, GType type2, GstValueUnionFunc func);
Registers a union function that can create a union between GValues
of the type type1 and type2.
| type1: | a type to union | 
| type2: | another type to union | 
| func: | a function that implments creating a union between the two types | 
gboolean gst_value_subtract (GValue *dest, const GValue *minuend, const GValue *subtrahend);
Subtracts subtrahend from minuend and stores the result in dest.
Note that this means subtraction as in sets, not as in mathematics.
| dest: | the destination value for the result if the subtraction is not empty | 
| minuend: | the value to subtract from | 
| subtrahend: | the value to subtract | 
| Returns : | TRUEif the subtraction is not empty | 
gboolean gst_value_can_subtract (const GValue *minuend, const GValue *subtrahend);
Checks if it's possible to subtract subtrahend from minuend.
| minuend: | the value to subtract from | 
| subtrahend: | the value to subtract | 
| Returns : | TRUE if a subtraction is possible | 
void        gst_value_register_subtract_func
                                            (GType minuend_type,
                                             GType subtrahend_type,
                                             GstValueSubtractFunc func);
Registers func as a function capable of subtracting the values of
subtrahend_type from values of minuend_type.
| minuend_type: | type of the minuend | 
| subtrahend_type: | type of the subtrahend | 
| func: | function to use | 
gboolean gst_value_intersect (GValue *dest, const GValue *value1, const GValue *value2);
Calculates the intersection of two values.  If the values have
a non-empty intersection, the value representing the intersection
is placed in dest.  If the intersection is non-empty, dest is
not modified.
| dest: | a uninitialized GValue that will hold the calculated intersection value | 
| value1: | a value to intersect | 
| value2: | another value to intersect | 
| Returns : | TRUE if the intersection is non-empty | 
gboolean gst_value_can_intersect (const GValue *value1, const GValue *value2);
Determines if intersecting two values will produce a valid result. Two values will produce a valid intersection if they have the same type, or if there is a method (registered by gst_value_register_intersection_func) to calculate the intersection.
| value1: | a value to intersect | 
| value2: | another value to intersect | 
| Returns : | TRUE if the values can intersect | 
void        gst_value_register_intersect_func
                                            (GType type1,
                                             GType type2,
                                             GstValueIntersectFunc func);
Registers a function that is called to calculate the intersection
of the values having the types type1 and type2.
| type1: | the first type to intersect | 
| type2: | the second type to intersect | 
| func: | the intersection function | 
void gst_value_array_append_value (GValue *value, const GValue *append_value);
Appends append_value to the GstValueArray in value.
| value: | a GValue of type GST_TYPE_ARRAY | 
| append_value: | the value to append | 
guint gst_value_array_get_size (const GValue *value);
Gets the number of values contained in value.
| value: | a GValue of type GST_TYPE_ARRAY | 
| Returns : | the number of values | 
const GValue* gst_value_array_get_value (const GValue *value, guint index);
Gets the value that is a member of the array contained in value and
has the index index.
| value: | a GValue of type GST_TYPE_ARRAY | 
| index: | index of value to get from the array | 
| Returns : | the value at the given index | 
void gst_value_array_prepend_value (GValue *value, const GValue *prepend_value);
Prepends prepend_value to the GstValueArray in value.
| value: | a GValue of type GST_TYPE_ARRAY | 
| prepend_value: | the value to prepend | 
| << GstUtils | GstVersion >> |