## GstParamSpec

GstParamSpec — GParamSpec implementations specific to GStreamer

## Functions

GParamSpec * | gst_param_spec_fraction ()
GParamSpec * | gst_param_spec_array ()

## Types and Values

#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
struct | GstParamSpecArray

## Includes

    #include <gst/gst.h>

## Description

GParamSpec implementations specific to GStreamer.

## Functions

### 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.

#### Parameters

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.

[transfer full][nullable]

### gst_param_spec_array ()

    GParamSpec *
    gst_param_spec_array (const gchar *name,
                          const gchar *nick,
                          const gchar *blurb,
                          GParamSpec *element_spec,
                          GParamFlags flags);

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

#### Parameters

name | canonical name of the property specified |
nick | nick name for the property specified |
blurb | description of the property specified |
element_spec | GParamSpec of the array |
flags | flags for the property specified |

#### Returns

a newly created parameter specification.

[transfer full]

Since: 1.14

## Types and Values

### 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.

### 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.

### 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.

### 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.

#### Members

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 |

### struct GstParamSpecArray

    struct GstParamSpecArray {
      GParamSpec    parent_instance;

      GParamSpec * element_spec;
    };

A GParamSpec derived structure for arrays of values.

#### Members

GParamSpec *`element_spec`; | the GParamSpec of the type of values in the array |