![]() |
![]() |
![]() |
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.
dest : |
an uninitialized GValue to take the result |
value1 : |
a GValue |
value2 : |
a GValue |
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 : | TRUE for 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()
.
dest : |
a GValue for the result |
value1 : |
a GValue operand |
value2 : |
a GValue operand |
Returns : | TRUE if a union was successful
|
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()
.
dest : |
a GValue for the result |
value1 : |
a GValue operand |
value2 : |
a GValue operand |
Returns : | TRUE if the values can intersect
|
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()
.
dest : |
a GValue for the result |
minuend : |
a GValue operand |
subtrahend : |
a GValue operand |
Returns : | TRUE if the subtraction is not empty
|
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 value or 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 : | TRUE if 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 >> |