GstValue: GStreamer 1.0 Core Reference Manual

## GstValue GstValue |

## Functions

#define | GST_MAKE_FOURCC()
#define | GST_STR_FOURCC()
#define | GST_FOURCC_ARGS()
#define | GST_VALUE_HOLDS_INT_RANGE()
void | gst_value_set_int_range ()
gint | gst_value_get_int_range_min ()
gint | gst_value_get_int_range_max ()
void | gst_value_set_int_range_step ()
gint | gst_value_get_int_range_step ()
#define | GST_VALUE_HOLDS_BITMASK()
void | gst_value_set_bitmask ()
guint64 | gst_value_get_bitmask ()
#define | GST_VALUE_HOLDS_FLAG_SET()
gboolean | gst_structure_get_flagset ()
guint | gst_value_get_flagset_flags ()
guint | gst_value_get_flagset_mask ()
void | gst_value_set_flagset ()
#define | GST_VALUE_HOLDS_INT64_RANGE()
void | gst_value_set_int64_range ()
gint64 | gst_value_get_int64_range_min ()
gint64 | gst_value_get_int64_range_max ()
void | gst_value_set_int64_range_step ()
gint64 | gst_value_get_int64_range_step ()
#define | GST_VALUE_HOLDS_DOUBLE_RANGE()
void | gst_value_set_double_range ()
gdouble | gst_value_get_double_range_min ()
gdouble | gst_value_get_double_range_max ()
#define | GST_VALUE_HOLDS_LIST()
#define | GST_VALUE_HOLDS_ARRAY()
void | gst_value_list_append_value ()
void | gst_value_list_append_and_take_value ()
void | gst_value_list_prepend_value ()
void | gst_value_list_concat ()
void | gst_value_list_merge ()
guint | gst_value_list_get_size ()
const GValue * | gst_value_list_get_value ()
#define | GST_VALUE_HOLDS_FRACTION()
void | gst_value_set_fraction ()
gint | gst_value_get_fraction_numerator ()
gint | gst_value_get_fraction_denominator ()
gboolean | gst_value_fraction_multiply ()
gboolean | gst_value_fraction_subtract ()
#define | GST_VALUE_HOLDS_FRACTION_RANGE()
void | gst_value_set_fraction_range ()
const GValue * | gst_value_get_fraction_range_min ()
const GValue * | gst_value_get_fraction_range_max ()
void | gst_value_set_fraction_range_full ()
#define | GST_VALUE_HOLDS_DATE_TIME()
#define | GST_VALUE_HOLDS_CAPS()
void | gst_value_set_caps ()
const GstCaps * | gst_value_get_caps ()
#define | GST_VALUE_HOLDS_CAPS_FEATURES()
void | gst_value_set_caps_features ()
const GstCapsFeatures * | gst_value_get_caps_features ()
#define | GST_VALUE_HOLDS_STRUCTURE()
void | gst_value_set_structure ()
const GstStructure * | gst_value_get_structure ()
#define | GST_VALUE_HOLDS_BUFFER()
#define | gst_value_get_buffer()
#define | gst_value_set_buffer()
#define | gst_value_take_buffer()
#define | GST_VALUE_HOLDS_SAMPLE()
#define | gst_value_get_sample()
#define | gst_value_set_sample()
#define | gst_value_take_sample()
gint | (*GstValueCompareFunc) ()
gchar * | (*GstValueSerializeFunc) ()
gboolean | (*GstValueDeserializeFunc) ()
gboolean | gst_value_is_fixed ()
void | gst_value_register ()
void | gst_value_init_and_copy ()
gchar * | gst_value_serialize ()
gboolean | gst_value_deserialize ()
gint | gst_value_compare ()
gboolean | gst_value_can_compare ()
gboolean | gst_value_union ()
gboolean | gst_value_can_union ()
gboolean | gst_value_subtract ()
gboolean | gst_value_can_subtract ()
gboolean | gst_value_intersect ()
gboolean | gst_value_can_intersect ()
gboolean | gst_value_is_subset ()
void | gst_value_array_append_value ()
void | gst_value_array_append_and_take_value ()
guint | gst_value_array_get_size ()
const GValue * | gst_value_array_get_value ()
void | gst_value_array_prepend_value ()
gboolean | gst_value_fixate ()
GType | gst_flagset_register ()

## Types and Values

#define | GST_FOURCC_FORMAT
#define | GST_TYPE_INT_RANGE
#define | GST_TYPE_BITMASK
#define | GST_TYPE_FLAG_SET
#define | GST_FLAG_SET_MASK_EXACT
#define | GST_TYPE_INT64_RANGE
#define | GST_TYPE_DOUBLE_RANGE
#define | GST_TYPE_LIST
#define | GST_TYPE_ARRAY
#define | GST_TYPE_FRACTION
#define | GST_TYPE_FRACTION_RANGE
#define | GST_VALUE_LESS_THAN
#define | GST_VALUE_EQUAL
#define | GST_VALUE_GREATER_THAN
#define | GST_VALUE_UNORDERED
struct | GstValueTable

## Includes

    #include <gst/gst.h>

## Description

## Functions

### GST_MAKE_FOURCC()

    #define GST_MAKE_FOURCC(a,b,c,d)        ((guint32)((a)|(b)<<8|(c)<<16|(d)<<24))

### GST_STR_FOURCC()

    #define GST_STR_FOURCC(f)               ((guint32)(((f)[0])|((f)[1]<<8)|((f)[2]<<16)|((f)[3]<<24)))

### GST_FOURCC_ARGS()

    #define             GST_FOURCC_ARGS(fourcc)

### GST_VALUE_HOLDS_INT_RANGE()

    #define GST_VALUE_HOLDS_INT_RANGE(x)      ((x) != NULL && G_VALUE_TYPE(x) == _gst_int_range_type)

### gst_value_set_int_range ()

    void
    gst_value_set_int_range (GValue *value,
                             gint start,
                             gint end);

### gst_value_get_int_range_min ()

    gint
    gst_value_get_int_range_min (const GValue *value);

### gst_value_get_int_range_max ()

    gint
    gst_value_get_int_range_max (const GValue *value);

### gst_value_set_int_range_step ()

    void
    gst_value_set_int_range_step (GValue *value,
                                  gint start,
                                  gint end,
                                  gint step);

### gst_value_get_int_range_step ()

    gint
    gst_value_get_int_range_step (const GValue *value);

### GST_VALUE_HOLDS_BITMASK()

    #define GST_VALUE_HOLDS_BITMASK(x)      ((x) != NULL && G_VALUE_TYPE(x) == _gst_bitmask_type)

### gst_value_set_bitmask ()

    void
    gst_value_set_bitmask (GValue *value,
                           guint64 bitmask);

### gst_value_get_bitmask ()

    guint64
    gst_value_get_bitmask (const GValue *value);

### GST_VALUE_HOLDS_FLAG_SET()

    #define GST_VALUE_HOLDS_FLAG_SET(x)     (G_TYPE_CHECK_VALUE_TYPE ((x), GST_TYPE_FLAG_SET))

### gst_structure_get_flagset ()

    gboolean
    gst_structure_get_flagset (const GstStructure *structure,
                               const gchar *fieldname,
                               guint *value_flags,
                               guint *value_mask);

### gst_value_get_flagset_flags ()

    guint
    gst_value_get_flagset_flags (const GValue *value);

### gst_value_get_flagset_mask ()

    guint
    gst_value_get_flagset_mask (const GValue *value);

### gst_value_set_flagset ()

    void
    gst_value_set_flagset (GValue *value,
                           guint flags,
                           guint mask);

### GST_VALUE_HOLDS_INT64_RANGE()

    #define GST_VALUE_HOLDS_INT64_RANGE(x)    ((x) != NULL && G_VALUE_TYPE(x) == _gst_int64_range_type)

### gst_value_set_int64_range ()

    void
    gst_value_set_int64_range (GValue *value,
                               gint64 start,
                               gint64 end);

### gst_value_get_int64_range_min ()

    gint64
    gst_value_get_int64_range_min (const GValue *value);

### gst_value_get_int64_range_max ()

    gint64
    gst_value_get_int64_range_max (const GValue *value);

### gst_value_set_int64_range_step ()

    void
    gst_value_set_int64_range_step (GValue *value,
                                    gint64 start,
                                    gint64 end,
                                    gint64 step);

### gst_value_get_int64_range_step ()

    gint64
    gst_value_get_int64_range_step (const GValue *value);

### GST_VALUE_HOLDS_DOUBLE_RANGE()

    #define GST_VALUE_HOLDS_DOUBLE_RANGE(x)   ((x) != NULL && G_VALUE_TYPE(x) == _gst_double_range_type)

### gst_value_set_double_range ()

    void
    gst_value_set_double_range (GValue *value,
                                gdouble start,
                                gdouble end);

### gst_value_get_double_range_min ()

    gdouble
    gst_value_get_double_range_min (const GValue *value);

### gst_value_get_double_range_max ()

    gdouble
    gst_value_get_double_range_max (const GValue *value);

### GST_VALUE_HOLDS_LIST()

    #define GST_VALUE_HOLDS_LIST(x)         ((x) != NULL && G_VALUE_TYPE(x) == _gst_value_list_type)

### GST_VALUE_HOLDS_ARRAY()

    #define GST_VALUE_HOLDS_ARRAY(x)        ((x) != NULL && G_VALUE_TYPE(x) == _gst_value_array_type)

### gst_value_list_append_value ()

    void
    gst_value_list_append_value (GValue *value,
                                 const GValue *append_value);

### gst_value_list_append_and_take_value ()

    void
    gst_value_list_append_and_take_value (GValue *value,
                                          GValue *append_value);

### gst_value_list_prepend_value ()

    void
    gst_value_list_prepend_value (GValue *value,
                                  const GValue *prepend_value);

### gst_value_list_concat ()

    void
    gst_value_list_concat (GValue *dest,
                           const GValue *value1,
                           const GValue *value2);

### gst_value_list_merge ()

    void
    gst_value_list_merge (GValue *dest,
                          const GValue *value1,
                          const GValue *value2);

### gst_value_list_get_size ()

    guint
    gst_value_list_get_size (const GValue *value);

### gst_value_list_get_value ()

    const GValue *
    gst_value_list_get_value (const GValue *value,
                              guint index);

### GST_VALUE_HOLDS_FRACTION()

    #define GST_VALUE_HOLDS_FRACTION(x)     ((x) != NULL && G_VALUE_TYPE(x) == _gst_fraction_type)

### gst_value_set_fraction ()

    void
    gst_value_set_fraction (GValue *value,
                            gint numerator,
                            gint denominator);

### gst_value_get_fraction_numerator ()

    gint
    gst_value_get_fraction_numerator (const GValue *value);

### gst_value_get_fraction_denominator ()

    gint
    gst_value_get_fraction_denominator (const GValue *value);

### gst_value_fraction_multiply ()

    gboolean
    gst_value_fraction_multiply (GValue *product,
                                 const GValue *factor1,
                                 const GValue *factor2);

### gst_value_fraction_subtract ()

    gboolean
    gst_value_fraction_subtract (GValue *dest,
                                 const GValue *minuend,
                                 const GValue *subtrahend);

### GST_VALUE_HOLDS_FRACTION_RANGE()

    #define GST_VALUE_HOLDS_FRACTION_RANGE(x) ((x) != NULL && G_VALUE_TYPE(x) == _gst_fraction_range_type)

### gst_value_set_fraction_range ()

    void
    gst_value_set_fraction_range (GValue *value,
                                  const GValue *start,
                                  const GValue *end);

### gst_value_get_fraction_range_min ()

    const GValue *
    gst_value_get_fraction_range_min (const GValue *value);

### gst_value_get_fraction_range_max ()

    const GValue *
    gst_value_get_fraction_range_max (const GValue *value);

### gst_value_set_fraction_range_full ()

    void
    gst_value_set_fraction_range_full (GValue *value,
                                       gint numerator_start,
                                       gint denominator_start,
                                       gint numerator_end,
                                       gint denominator_end);

### GST_VALUE_HOLDS_DATE_TIME()

    #define GST_VALUE_HOLDS_DATE_TIME(x)    ((x) != NULL && G_VALUE_TYPE(x) == _gst_date_time_type)

### GST_VALUE_HOLDS_CAPS()

    #define GST_VALUE_HOLDS_CAPS(x)         ((x) != NULL && G_VALUE_TYPE(x) == _gst_caps_type)

### gst_value_set_caps ()

    void
    gst_value_set_caps (GValue *value,
                        const GstCaps *caps);

### gst_value_get_caps ()

    const GstCaps *
    gst_value_get_caps (const GValue *value);

### GST_VALUE_HOLDS_CAPS_FEATURES()

    #define GST_VALUE_HOLDS_CAPS_FEATURES(x)        (G_VALUE_HOLDS((x), _gst_caps_features_type))

### gst_value_set_caps_features ()

    void
    gst_value_set_caps_features (GValue *value,
                                 const GstCapsFeatures *features);

### gst_value_get_caps_features ()

    const GstCapsFeatures *
    gst_value_get_caps_features (const GValue *value);

### GST_VALUE_HOLDS_STRUCTURE()

    #define GST_VALUE_HOLDS_STRUCTURE(x)            (G_VALUE_HOLDS((x), _gst_structure_type))

### gst_value_set_structure ()

    void
    gst_value_set_structure (GValue *value,
                             const GstStructure *structure);

### gst_value_get_structure ()

    const GstStructure *
    gst_value_get_structure (const GValue *value);

### GST_VALUE_HOLDS_BUFFER()

    #define GST_VALUE_HOLDS_BUFFER(x)       ((x) != NULL && G_VALUE_TYPE(x) == _gst_buffer_type)

### gst_value_get_buffer()

    #define         gst_value_get_buffer(v)         GST_BUFFER_CAST (g_value_get_boxed(v))

### gst_value_set_buffer()

    #define         gst_value_set_buffer(v,b)       g_value_set_boxed((v),(b))

### gst_value_take_buffer()

    #define         gst_value_take_buffer(v,b)      g_value_take_boxed(v,(b))

### GST_VALUE_HOLDS_SAMPLE()

    #define GST_VALUE_HOLDS_SAMPLE(x)       ((x) != NULL && G_VALUE_TYPE(x) == _gst_sample_type)

### gst_value_get_sample()

    #define         gst_value_get_sample(v)         GST_SAMPLE_CAST (g_value_get_boxed(v))

### gst_value_set_sample()

    #define         gst_value_set_sample(v,b)       g_value_set_boxed((v),(b))

### gst_value_take_sample()

    #define         gst_value_take_sample(v,b)      g_value_take_boxed(v,(b))

### GstValueCompareFunc ()

    gint
    (*GstValueCompareFunc) (const GValue *value1,
                            const GValue *value2);

### GstValueSerializeFunc ()

    gchar *
    (*GstValueSerializeFunc) (const GValue *value1);

### GstValueDeserializeFunc ()

    gboolean
    (*GstValueDeserializeFunc) (GValue *dest,
                                const gchar *s);

### gst_value_is_fixed ()

    gboolean
    gst_value_is_fixed (const GValue *value);

### gst_value_register ()

    void
    gst_value_register (const GstValueTable *table);

### gst_value_init_and_copy ()

    void
    gst_value_init_and_copy (GValue *dest,
                             const GValue *src);

### gst_value_serialize ()

    gchar *
    gst_value_serialize (const GValue *value);

### gst_value_deserialize ()

    gboolean
    gst_value_deserialize (GValue *dest,
                           const gchar *src);

### gst_value_compare ()

    gint
    gst_value_compare (const GValue *value1,
                       const GValue *value2);

### gst_value_can_compare ()

    gboolean
    gst_value_can_compare (const GValue *value1,
                           const GValue *value2);

### gst_value_union ()

    gboolean
    gst_value_union (GValue *dest,
                     const GValue *value1,
                     const GValue *value2);

### gst_value_can_union ()

    gboolean
    gst_value_can_union (const GValue *value1,
                         const GValue *value2);

### gst_value_subtract ()

    gboolean
    gst_value_subtract (GValue *dest,
                        const GValue *minuend,
                        const GValue *subtrahend);

### gst_value_can_subtract ()

    gboolean
    gst_value_can_subtract (const GValue *minuend,
                            const GValue *subtrahend);

### gst_value_intersect ()

    gboolean
    gst_value_intersect (GValue *dest,
                         const GValue *value1,
                         const GValue *value2);

### gst_value_can_intersect ()

    gboolean
    gst_value_can_intersect (const GValue *value1,
                             const GValue *value2);

### gst_value_is_subset ()

    gboolean
    gst_value_is_subset (const GValue *value1,
                         const GValue *value2);

### gst_value_array_append_value ()

    void
    gst_value_array_append_value (GValue *value,
                                  const GValue *append_value);

### gst_value_array_append_and_take_value ()

    void
    gst_value_array_append_and_take_value (GValue *value,
                                           GValue *append_value);

### gst_value_array_get_size ()

    guint
    gst_value_array_get_size (const GValue *value);

### gst_value_array_get_value ()

    const GValue *
    gst_value_array_get_value (const GValue *value,
                               guint index);

### gst_value_array_prepend_value ()

    void
    gst_value_array_prepend_value (GValue *value,
                                   const GValue *prepend_value);

### gst_value_fixate ()

    gboolean
    gst_value_fixate (GValue *dest,
                      const GValue *src);

### gst_flagset_register ()

    GType
    gst_flagset_register (GType flags_type);

## Types and Values

### GST_FOURCC_FORMAT

    #define GST_FOURCC_FORMAT "c%c%c%c"

### GST_TYPE_INT_RANGE

    #define GST_TYPE_INT_RANGE               (_gst_int_range_type)

### GST_TYPE_BITMASK

    #define GST_TYPE_BITMASK                 (_gst_bitmask_type)

### GST_TYPE_FLAG_SET

    #define GST_TYPE_FLAG_SET                   (_gst_flagset_type)

### GST_FLAG_SET_MASK_EXACT

    #define GST_FLAG_SET_MASK_EXACT ((guint)(-1))

### GST_TYPE_INT64_RANGE

    #define GST_TYPE_INT64_RANGE             (_gst_int64_range_type)

### GST_TYPE_DOUBLE_RANGE

    #define GST_TYPE_DOUBLE_RANGE            (_gst_double_range_type)

### GST_TYPE_LIST

    #define GST_TYPE_LIST                    (_gst_value_list_type)

### GST_TYPE_ARRAY

    #define GST_TYPE_ARRAY                   (_gst_value_array_type)

### GST_TYPE_FRACTION

    #define GST_TYPE_FRACTION                (_gst_fraction_type)

### GST_TYPE_FRACTION_RANGE

    #define GST_TYPE_FRACTION_RANGE           (_gst_fraction_range_type)

### GST_VALUE_LESS_THAN

    #define GST_VALUE_LESS_THAN              (-1)

### GST_VALUE_EQUAL

    #define GST_VALUE_EQUAL                   0

### GST_VALUE_GREATER_THAN

    #define GST_VALUE_GREATER_THAN            1

### GST_VALUE_UNORDERED

    #define GST_VALUE_UNORDERED               2

### struct GstValueTable

    struct GstValueTable {
      GType type;
      GstValueCompareFunc compare;
      GstValueSerializeFunc serialize;
      GstValueDeserializeFunc deserialize;
    };