alsasrc/sink: add property to get the card name

fixes #627203
This commit is contained in:
Wim Taymans 2010-08-18 16:45:37 +02:00
parent 693919ff87
commit 7b310c6a03
2 changed files with 27 additions and 1 deletions

View file

@ -55,6 +55,7 @@
#define DEFAULT_DEVICE "default"
#define DEFAULT_DEVICE_NAME ""
#define DEFAULT_CARD_NAME ""
#define SPDIF_PERIOD_SIZE 1536
#define SPDIF_BUFFER_SIZE 15360
@ -62,7 +63,9 @@ enum
{
PROP_0,
PROP_DEVICE,
PROP_DEVICE_NAME
PROP_DEVICE_NAME,
PROP_CARD_NAME,
PROP_LAST
};
static void gst_alsasink_init_interfaces (GType type);
@ -209,6 +212,11 @@ gst_alsasink_class_init (GstAlsaSinkClass * klass)
g_param_spec_string ("device-name", "Device name",
"Human-readable name of the sound device", DEFAULT_DEVICE_NAME,
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class, PROP_CARD_NAME,
g_param_spec_string ("card-name", "Card name",
"Human-readable name of the sound card", DEFAULT_CARD_NAME,
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
}
static void
@ -251,6 +259,11 @@ gst_alsasink_get_property (GObject * object, guint prop_id,
gst_alsa_find_device_name (GST_OBJECT_CAST (sink),
sink->device, sink->handle, SND_PCM_STREAM_PLAYBACK));
break;
case PROP_CARD_NAME:
g_value_take_string (value,
gst_alsa_find_card_name (GST_OBJECT_CAST (sink),
sink->device, SND_PCM_STREAM_PLAYBACK));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;

View file

@ -53,12 +53,15 @@
#define DEFAULT_PROP_DEVICE "default"
#define DEFAULT_PROP_DEVICE_NAME ""
#define DEFAULT_PROP_CARD_NAME ""
enum
{
PROP_0,
PROP_DEVICE,
PROP_DEVICE_NAME,
PROP_CARD_NAME,
PROP_LAST
};
static void gst_alsasrc_init_interfaces (GType type);
@ -226,6 +229,11 @@ gst_alsasrc_class_init (GstAlsaSrcClass * klass)
g_param_spec_string ("device-name", "Device name",
"Human-readable name of the sound device",
DEFAULT_PROP_DEVICE_NAME, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class, PROP_CARD_NAME,
g_param_spec_string ("card-name", "Card name",
"Human-readable name of the sound card",
DEFAULT_PROP_CARD_NAME, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
}
static void
@ -267,6 +275,11 @@ gst_alsasrc_get_property (GObject * object, guint prop_id,
gst_alsa_find_device_name (GST_OBJECT_CAST (src),
src->device, src->handle, SND_PCM_STREAM_CAPTURE));
break;
case PROP_CARD_NAME:
g_value_take_string (value,
gst_alsa_find_card_name (GST_OBJECT_CAST (src),
src->device, SND_PCM_STREAM_CAPTURE));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;