## GstParamSpec

GstParamSpec — GParamSpec implementations specific to GStreamer

## Synopsis

    #include <gst/gst.h>

    #define             GST_PARAM_CONTROLLABLE
    #define             GST_PARAM_USER_SHIFT
    #define             GST_PARAM_MUTABLE_PAUSED
    #define             GST_PARAM_MUTABLE_PLAYING
    #define             GST_PARAM_MUTABLE_READY

    struct              GstParamSpecFraction;
    GParamSpec *        gst_param_spec_fraction             (const gchar *name,
                                                             const gchar *nick,
                                                             const gchar *blurb,
                                                             gint min_num,
                                                             gint min_denom,
                                                             gint max_num,
                                                             gint max_denom,
                                                             gint default_num,
                                                             gint default_denom,
                                                             GParamFlags flags);

## Description

GParamSpec implementations specific to GStreamer.

Last reviewed on 2008-03-11 (0.10.18)

## Details

### GST_PARAM_CONTROLLABLE

    #define GST_PARAM_CONTROLLABLE (1 << (G_PARAM_USER_SHIFT + 1))

Use this flag on GObject properties to signal they can make sense to be. controlled over time. This hint is used by the GstController.

### GST_PARAM_USER_SHIFT

    #define GST_PARAM_USER_SHIFT (1 << (G_PARAM_USER_SHIFT + 8))

Bits based on GST_PARAM_USER_SHIFT can be used by 3rd party applications.

### GST_PARAM_MUTABLE_PAUSED

    #define GST_PARAM_MUTABLE_PAUSED  (1 << (G_PARAM_USER_SHIFT + 3))

Use this flag on GObject properties of GstElements to indicate that they can be changed when the element is in the PAUSED or lower state. This flag implies GST_PARAM_MUTABLE_READY.

Since 0.10.23

### GST_PARAM_MUTABLE_PLAYING

    #define GST_PARAM_MUTABLE_PLAYING  (1 << (G_PARAM_USER_SHIFT + 4))

Use this flag on GObject properties of GstElements to indicate that they can be changed when the element is in the PLAYING or lower state. This flag implies GST_PARAM_MUTABLE_PAUSED.

Since 0.10.23

### GST_PARAM_MUTABLE_READY

    #define GST_PARAM_MUTABLE_READY  (1 << (G_PARAM_USER_SHIFT + 2))

Use this flag on GObject properties of GstElements to indicate that they can be changed when the element is in the READY or lower state.

Since 0.10.23

### struct GstParamSpecFraction

    struct GstParamSpecFraction {
      GParamSpec    parent_instance;

      gint          min_num, min_den;
      gint          max_num, max_den;
      gint          def_num, def_den;
    };

A GParamSpec derived structure that contains the meta data for fractional properties.

GParamSpec `parent_instance`; | super class
gint `min_num`; | minimal numerator
gint `min_den`; | minimal denominator
gint `max_num`; | maximal numerator
gint `max_den`; | maximal denominator
gint `def_num`; | default numerator
gint `def_den`; | default denominator

### gst_param_spec_fraction ()

    GParamSpec *        gst_param_spec_fraction             (const gchar *name,
                                                             const gchar *nick,
                                                             const gchar *blurb,
                                                             gint min_num,
                                                             gint min_denom,
                                                             gint max_num,
                                                             gint max_denom,
                                                             gint default_num,
                                                             gint default_denom,
                                                             GParamFlags flags);

This function creates a fraction GParamSpec for use by objects/elements that want to expose properties of fraction type. This function is typically used in connection with `g_object_class_install_property()` in a GObjects's instance_init function.

`name` : | canonical name of the property specified
`nick` : | nick name for the property specified
`blurb` : | description of the property specified
`min_num` : | minimum value (fraction numerator)
`min_denom` : | minimum value (fraction denominator)
`max_num` : | maximum value (fraction numerator)
`max_denom` : | maximum value (fraction denominator)
`default_num` : | default value (fraction numerator)
`default_denom` : | default value (fraction denominator)
`flags` : | flags for the property specified
Returns : | a newly created parameter specification

Since 0.10.14