add device property
authorThomas Vander Stichele <thomas@apestaart.org>
Fri, 8 Jul 2005 11:42:47 +0000 (11:42 +0000)
committerThomas Vander Stichele <thomas@apestaart.org>
Fri, 8 Jul 2005 11:42:47 +0000 (11:42 +0000)
Original commit message from CVS:
add device property

ChangeLog
common
docs/libs/tmpl/gstcolorbalance.sgml
docs/libs/tmpl/gstmixer.sgml
ext/alsa/gstalsasink.c
ext/alsa/gstalsasrc.c
gst/videorate/gstvideorate.c

index 63c5512..55369cd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
 
+       * docs/libs/tmpl/gstcolorbalance.sgml:
+       * docs/libs/tmpl/gstmixer.sgml:
+       * ext/alsa/gstalsasink.c: (gst_alsasink_class_init),
+       (gst_alsasink_set_property), (gst_alsasink_get_property):
+       * ext/alsa/gstalsasrc.c: (gst_alsasrc_class_init),
+       (gst_alsasrc_set_property), (gst_alsasrc_get_property):
+         add device property
+
+2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
+
        * ext/gnomevfs/gstgnomevfs.c: (plugin_init):
        * ext/gnomevfs/gstgnomevfssrc.c: (audiocast_init),
        (audiocast_register_listener), (audiocast_thread_run),
diff --git a/common b/common
index 03aa1cd..221ac8a 160000 (submodule)
--- a/common
+++ b/common
@@ -1 +1 @@
-Subproject commit 03aa1cd7f77f87fc24565044c0a3c9c5124c39a4
+Subproject commit 221ac8abacb46858382a9f8c924152ae588f4a2e
index 3d401d8..5953b69 100644 (file)
@@ -20,6 +20,15 @@ interface for elements that provide color balance operations
 </para>
 
 
+<!-- ##### SIGNAL GstColorBalance::value-changed ##### -->
+<para>
+
+</para>
+
+@gstcolorbalance: the object which received the signal.
+@arg1: 
+@arg2: 
+
 <!-- ##### STRUCT GstColorBalanceClass ##### -->
 <para>
 
index a70333a..da7e32d 100644 (file)
@@ -45,18 +45,12 @@ gstmixer
 
 </para>
 
-@parent: 
-@values: 
-@_gst_reserved: 
 
 <!-- ##### STRUCT GstMixerTrack ##### -->
 <para>
 
 </para>
 
-@parent: 
-@label: 
-@flags: 
 
 <!-- ##### FUNCTION gst_mixer_list_tracks ##### -->
 <para>
index 637eac8..5aa766d 100644 (file)
@@ -1,7 +1,7 @@
 /* GStreamer
  * Copyright (C) 2005 Wim Taymans <wim@fluendo.com>
  *
- * gstalsasink.c: 
+ * gstalsasink.c:
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -40,10 +40,20 @@ GST_ELEMENT_DETAILS ("Audio Sink (ALSA)",
     "Output to a sound card via ALSA",
     "Wim Taymans <wim@fluendo.com>");
 
+enum
+{
+  PROP_0,
+  PROP_DEVICE,
+};
+
 static void gst_alsasink_base_init (gpointer g_class);
 static void gst_alsasink_class_init (GstAlsaSinkClass * klass);
 static void gst_alsasink_init (GstAlsaSink * alsasink);
 static void gst_alsasink_dispose (GObject * object);
+static void gst_alsasink_set_property (GObject * object,
+    guint prop_id, const GValue * value, GParamSpec * pspec);
+static void gst_alsasink_get_property (GObject * object,
+    guint prop_id, GValue * value, GParamSpec * pspec);
 
 static GstCaps *gst_alsasink_getcaps (GstBaseSink * bsink);
 
@@ -143,7 +153,9 @@ gst_alsasink_class_init (GstAlsaSinkClass * klass)
 
   parent_class = g_type_class_ref (GST_TYPE_BASEAUDIOSINK);
 
-  gobject_class->dispose = gst_alsasink_dispose;
+  gobject_class->dispose = GST_DEBUG_FUNCPTR (gst_alsasink_dispose);
+  gobject_class->get_property = GST_DEBUG_FUNCPTR (gst_alsasink_get_property);
+  gobject_class->set_property = GST_DEBUG_FUNCPTR (gst_alsasink_set_property);
 
   gstbasesink_class->get_caps = GST_DEBUG_FUNCPTR (gst_alsasink_getcaps);
 
@@ -152,6 +164,49 @@ gst_alsasink_class_init (GstAlsaSinkClass * klass)
   gstaudiosink_class->write = GST_DEBUG_FUNCPTR (gst_alsasink_write);
   gstaudiosink_class->delay = GST_DEBUG_FUNCPTR (gst_alsasink_delay);
   gstaudiosink_class->reset = GST_DEBUG_FUNCPTR (gst_alsasink_reset);
+
+  g_object_class_install_property (gobject_class, PROP_DEVICE,
+      g_param_spec_string ("device", "Device",
+          "ALSA device, as defined in an asound configuration file",
+          "default", G_PARAM_READWRITE));
+}
+
+static void
+gst_alsasink_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
+{
+  GstAlsaSink *sink;
+
+  sink = GST_ALSA_SINK (object);
+
+  switch (prop_id) {
+    case PROP_DEVICE:
+      if (sink->device)
+        g_free (sink->device);
+      sink->device = g_strdup (g_value_get_string (value));
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static void
+gst_alsasink_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec)
+{
+  GstAlsaSink *sink;
+
+  sink = GST_ALSA_SINK (object);
+
+  switch (prop_id) {
+    case PROP_DEVICE:
+      g_value_set_string (value, sink->device);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
 }
 
 static void
index c1ed44a..2b7f192 100644 (file)
@@ -1,7 +1,7 @@
 /* GStreamer
  * Copyright (C) 2005 Wim Taymans <wim@fluendo.com>
  *
- * gstalsasrc.c: 
+ * gstalsasrc.c:
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -40,10 +40,20 @@ GST_ELEMENT_DETAILS ("Audio Src (ALSA)",
     "Output to a sound card via ALSA",
     "Wim Taymans <wim@fluendo.com>");
 
+enum
+{
+  PROP_0,
+  PROP_DEVICE,
+};
+
 static void gst_alsasrc_base_init (gpointer g_class);
 static void gst_alsasrc_class_init (GstAlsaSrcClass * klass);
 static void gst_alsasrc_init (GstAlsaSrc * alsasrc);
 static void gst_alsasrc_dispose (GObject * object);
+static void gst_alsasrc_set_property (GObject * object,
+    guint prop_id, const GValue * value, GParamSpec * pspec);
+static void gst_alsasrc_get_property (GObject * object,
+    guint prop_id, GValue * value, GParamSpec * pspec);
 
 static GstCaps *gst_alsasrc_getcaps (GstBaseSrc * bsrc);
 
@@ -139,7 +149,9 @@ gst_alsasrc_class_init (GstAlsaSrcClass * klass)
 
   parent_class = g_type_class_ref (GST_TYPE_BASEAUDIOSRC);
 
-  gobject_class->dispose = gst_alsasrc_dispose;
+  gobject_class->dispose = GST_DEBUG_FUNCPTR (gst_alsasrc_dispose);
+  gobject_class->get_property = GST_DEBUG_FUNCPTR (gst_alsasrc_get_property);
+  gobject_class->set_property = GST_DEBUG_FUNCPTR (gst_alsasrc_set_property);
 
   gstbasesrc_class->get_caps = GST_DEBUG_FUNCPTR (gst_alsasrc_getcaps);
 
@@ -148,6 +160,49 @@ gst_alsasrc_class_init (GstAlsaSrcClass * klass)
   gstaudiosrc_class->read = GST_DEBUG_FUNCPTR (gst_alsasrc_read);
   gstaudiosrc_class->delay = GST_DEBUG_FUNCPTR (gst_alsasrc_delay);
   gstaudiosrc_class->reset = GST_DEBUG_FUNCPTR (gst_alsasrc_reset);
+
+  g_object_class_install_property (gobject_class, PROP_DEVICE,
+      g_param_spec_string ("device", "Device",
+          "ALSA device, as defined in an asound configuration file",
+          "default", G_PARAM_READWRITE));
+}
+
+static void
+gst_alsasrc_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
+{
+  GstAlsaSrc *src;
+
+  src = GST_ALSA_SRC (object);
+
+  switch (prop_id) {
+    case PROP_DEVICE:
+      if (src->device)
+        g_free (src->device);
+      src->device = g_strdup (g_value_get_string (value));
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static void
+gst_alsasrc_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec)
+{
+  GstAlsaSrc *src;
+
+  src = GST_ALSA_SRC (object);
+
+  switch (prop_id) {
+    case PROP_DEVICE:
+      g_value_set_string (value, src->device);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
 }
 
 static void
index 5563b28..94d6c36 100644 (file)
@@ -26,8 +26,6 @@
 GST_DEBUG_CATEGORY (videorate_debug);
 #define GST_CAT_DEFAULT videorate_debug
 
-
-
 #define GST_TYPE_VIDEORATE \
   (gst_videorate_get_type())
 #define GST_VIDEORATE(obj) \