diff options
author | Laszlo Pandy <laszlok2@gmail.com> | 2008-08-13 12:37:26 +0000 |
---|---|---|
committer | Sebastian Dröge <slomo@circular-chaos.org> | 2008-08-13 12:37:26 +0000 |
commit | 97bc37b5b6134cf76692dbc18f1a2e49684edb11 (patch) | |
tree | 3cae0dc4dfdaf817654a51465b337c92c96f8f2a /ext/pulse/pulsesrc.c | |
parent | 9e572ebf0065421567134e942d24ae26f0cee55d (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/pulsesrc.c')
-rw-r--r-- | ext/pulse/pulsesrc.c | 23 |
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; } |