gstpropertyprobe

gstpropertyprobe — Interface for probing possible property values

Synopsis

#include <gst/interfaces/propertyprobe.h>

                    GstPropertyProbe;
struct              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

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.

Details

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.

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

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

Get GParamSpec for a property for which probing is supported.

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.

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

Runs a probe on the property specified by pspec

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.

probe :

the GstPropertyProbe to check.

name :

name of the property.

Signal Details

The "probe-needed" signal

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

pspec :

GParamSpec that needs a probe

user_data :

user data set when the signal handler was connected.