audio-dsp: improve properties

This commit is contained in:
Wim Taymans 2018-11-28 13:24:33 +01:00
parent 0c9dc75cb3
commit 7c54b4b89c
6 changed files with 37 additions and 34 deletions

View file

@ -128,7 +128,7 @@ static int emit_node(struct impl *this, snd_pcm_info_t *pcminfo)
static int emit_info(struct impl *this)
{
int err = 0, dev;
struct spa_dict_item items[8];
struct spa_dict_item items[10];
snd_ctl_t *ctl_hndl;
snd_ctl_card_info_t *info;
snd_pcm_info_t *pcminfo;
@ -147,17 +147,19 @@ static int emit_info(struct impl *this)
goto exit;
}
items[0] = SPA_DICT_ITEM_INIT("device.path", (char *)this->props.device);
items[1] = SPA_DICT_ITEM_INIT("media.class", "Audio/Device");
items[2] = SPA_DICT_ITEM_INIT("alsa.card.id", snd_ctl_card_info_get_id(info));
items[3] = SPA_DICT_ITEM_INIT("alsa.card.components", snd_ctl_card_info_get_components(info));
items[4] = SPA_DICT_ITEM_INIT("alsa.card.driver", snd_ctl_card_info_get_driver(info));
items[5] = SPA_DICT_ITEM_INIT("alsa.card.name", snd_ctl_card_info_get_name(info));
items[6] = SPA_DICT_ITEM_INIT("alsa.card.longname", snd_ctl_card_info_get_longname(info));
items[7] = SPA_DICT_ITEM_INIT("alsa.card.mixername", snd_ctl_card_info_get_mixername(info));
items[0] = SPA_DICT_ITEM_INIT("device.api", "alsa");
items[1] = SPA_DICT_ITEM_INIT("device.path", (char *)this->props.device);
items[2] = SPA_DICT_ITEM_INIT("device.nick", snd_ctl_card_info_get_id(info));
items[3] = SPA_DICT_ITEM_INIT("media.class", "Audio/Device");
items[4] = SPA_DICT_ITEM_INIT("alsa.card.id", snd_ctl_card_info_get_id(info));
items[5] = SPA_DICT_ITEM_INIT("alsa.card.components", snd_ctl_card_info_get_components(info));
items[6] = SPA_DICT_ITEM_INIT("alsa.card.driver", snd_ctl_card_info_get_driver(info));
items[7] = SPA_DICT_ITEM_INIT("alsa.card.name", snd_ctl_card_info_get_name(info));
items[8] = SPA_DICT_ITEM_INIT("alsa.card.longname", snd_ctl_card_info_get_longname(info));
items[9] = SPA_DICT_ITEM_INIT("alsa.card.mixername", snd_ctl_card_info_get_mixername(info));
if (this->callbacks->info)
this->callbacks->info(this->callbacks_data, &SPA_DICT_INIT(items, 8));
this->callbacks->info(this->callbacks_data, &SPA_DICT_INIT(items, 10));
snd_pcm_info_alloca(&pcminfo);
dev = -1;

View file

@ -143,7 +143,6 @@ static int fill_item(struct impl *this, struct udev_device *dev,
spa_pod_builder_push_struct(builder),
add_dict(builder,
"udev-probed", "1",
"device.api", "alsa",
"device.path", udev_device_get_devnode(dev),
"alsa.card", str,
NULL);

View file

@ -72,19 +72,20 @@ struct impl {
static int emit_info(struct impl *this)
{
int res;
struct spa_dict_item items[5];
struct spa_dict_item items[6];
if ((res = spa_v4l2_open(&this->dev, this->props.device)) < 0)
return res;
items[0] = SPA_DICT_ITEM_INIT("device.path", (char *)this->props.device);
items[1] = SPA_DICT_ITEM_INIT("media.class", "Video/Device");
items[2] = SPA_DICT_ITEM_INIT("v4l2.driver", (char *)this->dev.cap.driver);
items[3] = SPA_DICT_ITEM_INIT("v4l2.card", (char *)this->dev.cap.card);
items[4] = SPA_DICT_ITEM_INIT("v4l2.bus", (char *)this->dev.cap.bus_info);
items[0] = SPA_DICT_ITEM_INIT("device.api", "v4l2");
items[1] = SPA_DICT_ITEM_INIT("device.path", (char *)this->props.device);
items[2] = SPA_DICT_ITEM_INIT("media.class", "Video/Device");
items[3] = SPA_DICT_ITEM_INIT("v4l2.driver", (char *)this->dev.cap.driver);
items[4] = SPA_DICT_ITEM_INIT("v4l2.card", (char *)this->dev.cap.card);
items[5] = SPA_DICT_ITEM_INIT("v4l2.bus", (char *)this->dev.cap.bus_info);
if (this->callbacks->info)
this->callbacks->info(this->callbacks_data, &SPA_DICT_INIT(items, 5));
this->callbacks->info(this->callbacks_data, &SPA_DICT_INIT(items, 6));
if (this->callbacks->add) {
if (spa_v4l2_is_capture(&this->dev)) {

View file

@ -112,7 +112,6 @@ static void fill_item(struct impl *this, struct udev_device *dev,
spa_pod_builder_prop(builder, SPA_MONITOR_ITEM_info, 0);
spa_pod_builder_push_struct(builder);
add_dict(builder, "udev-probed", "1");
add_dict(builder, "device.api", "v4l2");
add_dict(builder, "device.path", udev_device_get_devnode(dev));
if ((str = udev_device_get_property_value(dev, "USEC_INITIALIZED")) && *str)