gstpropertyprobe

## gstpropertyprobe gstpropertyprobe — Interface for probing possible property values |

## Functions

const GList * | gst_property_probe_get_properties ()
const GParamSpec * | gst_property_probe_get_property ()
GValueArray * | gst_property_probe_get_values ()
GValueArray * | gst_property_probe_get_values_name ()
gboolean | gst_property_probe_needs_probe ()
gboolean | gst_property_probe_needs_probe_name ()
GValueArray * | gst_property_probe_probe_and_get_values ()
GValueArray * | gst_property_probe_probe_and_get_values_name ()
void | gst_property_probe_probe_property ()
void | gst_property_probe_probe_property_name ()

## Signals

void | probe-needed | Run Last

## Types and Values

| GstPropertyProbe
struct | GstPropertyProbeInterface

## Object Hierarchy

        GInterface
        ╰── GstPropertyProbe

## Includes

    #include <gst/interfaces/propertyprobe.h>

## Description

The property probe is a way to autodetect allowed values for a GObject property. It's primary use is to autodetect device-names in several elements.

The interface is implemented by many hardware sources and sinks.

## Functions

### gst_property_probe_get_properties ()

    const GList *
    gst_property_probe_get_properties (GstPropertyProbe *probe);

Get a list of properties for which probing is supported.

#### Parameters

probe | the GstPropertyProbe to get the properties for. |

#### Returns

the list of GParamSpec * pointers representing properties for which probing is supported by this element.

### gst_property_probe_get_property ()

    const GParamSpec *
    gst_property_probe_get_property (GstPropertyProbe *probe,
                                     const gchar *name);

Get GParamSpec for a property for which probing is supported.

#### Parameters

probe | the GstPropertyProbe to get the properties for. |
name | name of the property. |

#### Returns

the GParamSpec of `NULL`.

### gst_property_probe_get_values ()

    GValueArray *
    gst_property_probe_get_values (GstPropertyProbe *probe,
                                   const GParamSpec *pspec);

Gets the possible (probed) values for the given property, requires the property to have been probed before.

#### Parameters

probe | the GstPropertyProbe object. |
pspec | the GParamSpec property identifier. |

#### Returns

A list of valid values for the given property.

### gst_property_probe_get_values_name ()

    GValueArray *
    gst_property_probe_get_values_name (GstPropertyProbe *probe,
                                        const gchar *name);

Same as `gst_property_probe_get_values()`.

#### Parameters

probe | the GstPropertyProbe object. |
name | the name of the property to get values for. |

#### Returns

A list of valid values for the given property.

### gst_property_probe_needs_probe ()

    gboolean
    gst_property_probe_needs_probe (GstPropertyProbe *probe,
                                    const GParamSpec *pspec);

Checks whether a property needs a probe. This might be because the property wasn't initialized before, or because host setup changed. This might be, for example, because a new device was added, and thus device probing needs to be refreshed to display the new device.

#### Parameters

probe | the GstPropertyProbe object to which the given property belongs. |
pspec | a GParamSpec that identifies the property to check. |

#### Returns

TRUE if the property needs a new probe, FALSE if not.

### gst_property_probe_needs_probe_name ()

    gboolean
    gst_property_probe_needs_probe_name (GstPropertyProbe *probe,
                                         const gchar *name);

Same as `gst_property_probe_needs_probe()`.

#### Parameters

probe | the GstPropertyProbe object to which the given property belongs. |
name | the name of the property to check. |

#### Returns

TRUE if the property needs a new probe, FALSE if not.

### gst_property_probe_probe_and_get_values ()

    GValueArray *
    gst_property_probe_probe_and_get_values
                                   (GstPropertyProbe *probe,
                                    const GParamSpec *pspec);

Check whether the given property requires a new probe. If so, fo the probe. After that, retrieve a value list. Meant as a utility function that wraps the above functions.

#### Parameters

probe | the GstPropertyProbe object. |
pspec | The GParamSpec property identifier. |

#### Returns

the list of valid values for this property.

### gst_property_probe_probe_and_get_values_name ()

    GValueArray *
    gst_property_probe_probe_and_get_values_name
                                   (GstPropertyProbe *probe,
                                    const gchar *name);

Same as `gst_property_probe_probe_and_get_values()`.

#### Parameters

probe | the GstPropertyProbe object. |
name | the name of the property to get values for. |

#### Returns

the list of valid values for this property.

### gst_property_probe_probe_property ()

    void
    gst_property_probe_probe_property (GstPropertyProbe *probe,
                                       const GParamSpec *pspec);

Runs a probe on the property specified by `pspec`

#### Parameters

probe | the GstPropertyProbe to check. |
pspec | GParamSpec of the property. |

### gst_property_probe_probe_property_name ()

    void
    gst_property_probe_probe_property_name
                                   (GstPropertyProbe *probe,
                                    const gchar *name);

Runs a probe on the property specified by `name` .

#### Parameters

probe | the GstPropertyProbe to check. |
name | name of the property. |

## Types and Values

### GstPropertyProbe

    typedef struct _GstPropertyProbe GstPropertyProbe;

Opaque GstPropertyProbe data structure.

### struct GstPropertyProbeInterface

    struct GstPropertyProbeInterface {
      GTypeInterface klass;

      /* signals */
      void          (*probe_needed)   (GstPropertyProbe *probe,
                                       const GParamSpec *pspec);

      /* virtual functions */
      const GList * (*get_properties) (GstPropertyProbe *probe);
      gboolean      (*needs_probe)    (GstPropertyProbe *probe,
                                       guint             prop_id,
                                       const GParamSpec *pspec);
      void          (*probe_property) (GstPropertyProbe *probe,
                                       guint             prop_id,
                                       const GParamSpec *pspec);
      GValueArray * (*get_values)     (GstPropertyProbe *probe,
                                       guint             prop_id,
                                       const GParamSpec *pspec);
    };

GstPropertyProbe interface.

#### Members

GTypeInterface `klass`; | parent interface type. |
`probe_needed` () | default signal handler |
`get_properties` () | virtual method to get list of probable properties |
`needs_probe` () | virtual method to tell if probe need update |
`probe_property` () | virtual method to probe a property |
`get_values` () | virtual method to get probe results for a property |

## Signal Details

### The `“probe-needed”` signal

    void
    user_function (GstPropertyProbe *pspec,
                   gpointer          arg1,
                   gpointer          user_data)

#### Parameters

pspec | GParamSpec that needs a probe |
user_data | user data set when the signal handler was connected. |

Flags: Run Last