## gstpropertyprobe gstpropertyprobe |

## Synopsis

    #include <gst/interfaces/propertyprobe.h>

                        GstPropertyProbe;
                        GstPropertyProbeInterface;
    const GList*        gst_property_probe_get_properties   (GstPropertyProbe *probe);
    const GParamSpec*   gst_property_probe_get_property     (GstPropertyProbe *probe,
                                                             const gchar *name);
    GValueArray*        gst_property_probe_get_values       (GstPropertyProbe *probe,
                                                             const GParamSpec *pspec);
    GValueArray*        gst_property_probe_get_values_name  (GstPropertyProbe *probe,
                                                             const gchar *name);
    gboolean            gst_property_probe_needs_probe      (GstPropertyProbe *probe,
                                                             const GParamSpec *pspec);
    gboolean            gst_property_probe_needs_probe_name (GstPropertyProbe *probe,
                                                             const gchar *name);
    GValueArray*        gst_property_probe_probe_and_get_values
                                                            (GstPropertyProbe *probe,
                                                             const GParamSpec *pspec);
    GValueArray*        gst_property_probe_probe_and_get_values_name
                                                            (GstPropertyProbe *probe,
                                                             const gchar *name);
    void                gst_property_probe_probe_property   (GstPropertyProbe *probe,
                                                             const GParamSpec *pspec);
    void                gst_property_probe_probe_property_name
                                                            (GstPropertyProbe *probe,
                                                             const gchar *name);

## Object Hierarchy

      GInterface
       +----GstPropertyProbe

## Signals

      "probe-needed"                                   : Run Last

## Description

## Details

### GstPropertyProbe

    typedef struct _GstPropertyProbe GstPropertyProbe;

### GstPropertyProbeInterface

    typedef struct {
      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);

      gpointer _gst_reserved[GST_PADDING];
    } GstPropertyProbeInterface;

### gst_property_probe_get_properties ()

    const GList*        gst_property_probe_get_properties   (GstPropertyProbe *probe);

Get a list of properties for which probing is supported.

`probe` : | the GstPropertyProbe to get the properties for.
Returns : | the list of 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);

`probe` : |
`name` : |
Returns : |

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

`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()`.

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

`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()`.

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

`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()`.

`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);

`probe` : |
`pspec` : |

### gst_property_probe_probe_property_name ()

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

Runs a probe on the given property.

`probe` : | the GstPropertyProbe to check.
`name` : | name of the property to return.

## Signal Details

### The "probe-needed" signal

    void                user_function                      (GstPropertyProbe *gstpropertyprobe,
                                                            gpointer          arg1,
                                                            gpointer          user_data)             : Run Last

`gstpropertyprobe` : | the object which received the signal.
`arg1` : |
`user_data` : | user data set when the signal handler was connected.