summaryrefslogtreecommitdiffstats
path: root/gst-libs/gst/propertyprobe/propertyprobe.h
diff options
context:
space:
mode:
authorRonald S. Bultje <rbultje@ronald.bitfreak.net>2003-11-05 22:59:46 +0000
committerRonald S. Bultje <rbultje@ronald.bitfreak.net>2003-11-05 22:59:46 +0000
commit2c0266b2bba86e944294e8bdc44b4cda83f5717a (patch)
tree9472605329d31d20efc7ed2d8add9e8255926a2f /gst-libs/gst/propertyprobe/propertyprobe.h
parente93f67308a209bd388b97fa26aebb22b9ef2dab9 (diff)
downloadgst-plugins-bad-2c0266b2bba86e944294e8bdc44b4cda83f5717a.tar.gz
gst-plugins-bad-2c0266b2bba86e944294e8bdc44b4cda83f5717a.tar.bz2
gst-plugins-bad-2c0266b2bba86e944294e8bdc44b4cda83f5717a.zip
Some prettification fixes to this interface... Make it look good, make it simple and make it more GObject'ific. This ...
Original commit message from CVS: Some prettification fixes to this interface... Make it look good, make it simple and make it more GObject'ific. This means that it now works largely almost the same as GObject (concerning arguments that you give to the functions, and layout of the virtual functions). I've also got an OSS implementation for this, but it needs one small change before I commit that. Expect that this weekend or so.
Diffstat (limited to 'gst-libs/gst/propertyprobe/propertyprobe.h')
-rw-r--r--gst-libs/gst/propertyprobe/propertyprobe.h62
1 files changed, 43 insertions, 19 deletions
diff --git a/gst-libs/gst/propertyprobe/propertyprobe.h b/gst-libs/gst/propertyprobe/propertyprobe.h
index 5fc9cf66..3fe08f0b 100644
--- a/gst-libs/gst/propertyprobe/propertyprobe.h
+++ b/gst-libs/gst/propertyprobe/propertyprobe.h
@@ -41,32 +41,56 @@ typedef struct _GstPropertyProbeInterface {
GTypeInterface klass;
/* signals */
- void (*need_probe) (GstPropertyProbe *property_probe, const gchar *property);
+ void (*probe_needed) (GstPropertyProbe *probe,
+ const GParamSpec *pspec);
/* virtual functions */
- gchar ** (*get_list) (GstElement *property_probe);
- void (*probe_property) (GstElement *property_probe, const GParamSpec *property);
- gchar ** (*get_property_info) (GstElement *property_probe,
- const GParamSpec *property);
- gboolean (*is_probed) (GstElement *element, const GParamSpec *property);
-
+ 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);
+
GST_CLASS_PADDING
} GstPropertyProbeInterface;
-GType gst_property_probe_get_type (void);
+GType gst_property_probe_get_type (void);
/* virtual class function wrappers */
-gchar ** gst_property_probe_get_list (GstElement *element);
-void gst_property_probe_probe_property (GstElement *element,
- const gchar *property);
-gchar ** gst_property_probe_get_property_info (GstElement *element,
- const gchar *property);
-gboolean gst_property_probe_is_probed (GstElement *element,
- const gchar *property);
-
-/* utility functions */
-gchar ** gst_property_probe_get_possibilities (GstElement *element,
- const gchar *property);
+
+/* returns list of GParamSpecs */
+const GList * gst_property_probe_get_properties (GstPropertyProbe *probe);
+const GParamSpec *gst_property_probe_get_property (GstPropertyProbe *probe,
+ const gchar *name);
+
+/* probe one property */
+void gst_property_probe_probe_property (GstPropertyProbe *probe,
+ const GParamSpec *pspec);
+void gst_property_probe_probe_property_name (GstPropertyProbe *probe,
+ const gchar *name);
+
+/* do we need a probe? */
+gboolean gst_property_probe_needs_probe (GstPropertyProbe *probe,
+ const GParamSpec *pspec);
+gboolean gst_property_probe_needs_probe_name (GstPropertyProbe *probe,
+ const gchar *name);
+
+/* returns list of GValues */
+GValueArray * gst_property_probe_get_values (GstPropertyProbe *probe,
+ const GParamSpec *pspec);
+GValueArray * gst_property_probe_get_values_name (GstPropertyProbe *probe,
+ const gchar *name);
+
+/* sugar */
+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);
G_END_DECLS