summaryrefslogtreecommitdiffstats
path: root/ext/pulse
diff options
context:
space:
mode:
authorLaszlo Pandy <laszlok2@gmail.com>2008-08-13 12:37:26 +0000
committerSebastian Dröge <slomo@circular-chaos.org>2008-08-13 12:37:26 +0000
commit97bc37b5b6134cf76692dbc18f1a2e49684edb11 (patch)
tree3cae0dc4dfdaf817654a51465b337c92c96f8f2a /ext/pulse
parent9e572ebf0065421567134e942d24ae26f0cee55d (diff)
ext/pulse/pulsesrc.c: Add "device-name" property, which provides a human readable string for the audio device, to mak...
Original commit message from CVS: Patch by: Laszlo Pandy <laszlok2 at gmail dot com> * ext/pulse/pulsesrc.c: (gst_pulsesrc_class_init), (gst_pulsesrc_get_property): Add "device-name" property, which provides a human readable string for the audio device, to make it more consisten with other audio sources. Fixes bug #547519.
Diffstat (limited to 'ext/pulse')
-rw-r--r--ext/pulse/pulsesrc.c23
1 files changed, 19 insertions, 4 deletions
diff --git a/ext/pulse/pulsesrc.c b/ext/pulse/pulsesrc.c
index 23597481..59d2c24d 100644
--- a/ext/pulse/pulsesrc.c
+++ b/ext/pulse/pulsesrc.c
@@ -58,7 +58,8 @@ GST_DEBUG_CATEGORY_EXTERN (pulse_debug);
enum
{
PROP_SERVER = 1,
- PROP_DEVICE
+ PROP_DEVICE,
+ PROP_DEVICE_NAME
};
static GstAudioSrcClass *parent_class = NULL;
@@ -233,6 +234,12 @@ gst_pulsesrc_class_init (gpointer g_class, gpointer class_data)
g_param_spec_string ("device", "Source",
"The PulseAudio source device to connect to", NULL,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+ g_object_class_install_property (gobject_class,
+ PROP_DEVICE_NAME,
+ g_param_spec_string ("device-name", "Device name",
+ "Human-readable name of the sound device", NULL,
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
}
static void
@@ -360,6 +367,15 @@ gst_pulsesrc_get_property (GObject * object,
g_value_set_string (value, pulsesrc->device);
break;
+ case PROP_DEVICE_NAME:
+
+ if (pulsesrc->mixer)
+ g_value_set_string (value, pulsesrc->mixer->description);
+ else
+ g_value_set_string (value, NULL);
+
+ break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -493,9 +509,8 @@ gst_pulsesrc_prepare (GstAudioSrc * asrc, GstRingBufferSpec * spec)
if (!pulsesrc->context
|| pa_context_get_state (pulsesrc->context) != PA_CONTEXT_READY) {
GST_ELEMENT_ERROR (pulsesrc, RESOURCE, FAILED, ("Bad context state: %s",
- pulsesrc->
- context ? pa_strerror (pa_context_errno (pulsesrc->context)) :
- NULL), (NULL));
+ pulsesrc->context ? pa_strerror (pa_context_errno (pulsesrc->
+ context)) : NULL), (NULL));
goto unlock_and_fail;
}