Lines Matching refs:dev
190 static int ucm_device_exists(pa_idxset *idxset, pa_alsa_ucm_device *dev) {
195 if (d == dev)
334 static const char *get_mixer_device(pa_alsa_ucm_device *dev, bool is_sink)
339 dev_name = pa_proplist_gets(dev->proplist, PA_ALSA_PROP_UCM_PLAYBACK_MIXER_DEVICE);
341 dev_name = pa_proplist_gets(dev->proplist, PA_ALSA_PROP_UCM_PLAYBACK_CTL_DEVICE);
343 dev_name = pa_proplist_gets(dev->proplist, PA_ALSA_PROP_UCM_CAPTURE_MIXER_DEVICE);
345 dev_name = pa_proplist_gets(dev->proplist, PA_ALSA_PROP_UCM_CAPTURE_CTL_DEVICE);
351 static const char *get_jack_mixer_device(pa_alsa_ucm_device *dev, bool is_sink) {
352 const char *dev_name = pa_proplist_gets(dev->proplist, PA_ALSA_PROP_UCM_JACK_DEVICE);
354 return get_mixer_device(dev, is_sink);
646 static void add_role_to_device(pa_alsa_ucm_device *dev, const char *dev_name, const char *role_name, const char *role) {
647 const char *cur = pa_proplist_gets(dev->proplist, role_name);
650 pa_proplist_sets(dev->proplist, role_name, role);
654 pa_proplist_sets(dev->proplist, role_name, value);
658 pa_log_info("Add role %s to device %s(%s), result %s", role, dev_name, role_name, pa_proplist_gets(dev->proplist,
729 static void append_lost_relationship(pa_alsa_ucm_device *dev) {
733 if (dev->conflicting_devices) {
734 PA_IDXSET_FOREACH(d, dev->conflicting_devices, idx) {
738 if (pa_idxset_put(d->conflicting_devices, dev, NULL) == 0)
740 pa_proplist_gets(dev->proplist, PA_ALSA_PROP_UCM_NAME),
745 if (dev->supported_devices) {
746 PA_IDXSET_FOREACH(d, dev->supported_devices, idx) {
750 if (pa_idxset_put(d->supported_devices, dev, NULL) == 0)
752 pa_proplist_gets(dev->proplist, PA_ALSA_PROP_UCM_NAME),
916 pa_alsa_ucm_device *dev;
925 PA_DYNARRAY_FOREACH(dev, data->devices, idx) {
926 if (dev->eld_device >= 0 && dev->eld_mixer_device_name) {
927 if (eld_device >= 0 && eld_device != dev->eld_device) {
929 } else if (eld_mixer_device_name && pa_streq(dev->eld_mixer_device_name, eld_mixer_device_name)) {
930 pa_log_error("The ELD mixer device is already set (%s, %s)!", dev->eld_mixer_device_name, dev->eld_mixer_device_name);
932 eld_mixer_device_name = dev->eld_mixer_device_name;
933 eld_device = dev->eld_device;
959 pa_alsa_ucm_device *dev;
969 PA_DYNARRAY_FOREACH(dev, data->devices, idx) {
970 mdev2 = get_mixer_device(dev, is_sink);
1025 pa_alsa_ucm_device *sorted[num], *dev;
1039 dev = sorted[0];
1040 dev_name = pa_proplist_gets(dev->proplist, PA_ALSA_PROP_UCM_NAME);
1043 desc = num == 1 ? pa_xstrdup(pa_proplist_gets(dev->proplist, PA_ALSA_PROP_UCM_DESCRIPTION))
1046 priority = is_sink ? dev->playback_priority : dev->capture_priority;
1048 jack = ucm_get_jack(context->ucm, dev);
1049 type = dev->type;
1054 dev = sorted[i];
1055 dev_name = pa_proplist_gets(dev->proplist, PA_ALSA_PROP_UCM_NAME);
1065 priority = is_sink ? dev->playback_priority : dev->capture_priority;
1069 jack2 = ucm_get_jack(context->ucm, dev);
1076 type2 = dev->type;
1117 PA_HASHMAP_FOREACH_KV(profile, vol, is_sink ? dev->playback_volumes : dev->capture_volumes, state) {
1133 dev = sorted[0];
1135 pa_hashmap_put(dev->playback_mapping->output_path_set->paths, pa_xstrdup(vol->mixer_elem), path);
1137 pa_hashmap_put(dev->capture_mapping->input_path_set->paths, pa_xstrdup(vol->mixer_elem), path);
1187 pa_alsa_ucm_device *dev) {
1193 pa_assert(dev);
1196 pa_proplist_gets(dev->proplist, PA_ALSA_PROP_UCM_NAME), dev_num);
1202 if (dev->conflicting_devices) { /* the device defines conflicting devices */
1203 PA_IDXSET_FOREACH(d, dev->conflicting_devices, idx) {
1211 } else if (dev->supported_devices) { /* the device defines supported devices */
1213 if (!ucm_device_exists(dev->supported_devices, pdevices[i])) {
1228 pa_alsa_ucm_device *dev;
1231 dev = pa_idxset_first(idxset, idx);
1233 dev = pa_idxset_next(idxset, idx);
1235 return dev;
1249 pa_alsa_ucm_device *dev;
1252 if ((dev = get_next_device(context->ucm_devices, &idx)) == NULL)
1256 if (ucm_check_conformance(context, pdevices, dev_num, dev)) {
1258 pdevices[dev_num] = dev;
1332 pa_alsa_ucm_device *dev;
1355 PA_IDXSET_FOREACH(dev, context->ucm_devices, idx) {
1356 const char *roles = pa_proplist_gets(dev->proplist, role_name);
1420 pa_alsa_ucm_device *dev;
1430 PA_IDXSET_FOREACH(dev, context->ucm_devices, idx) {
1431 const char *dev_name = pa_proplist_gets(dev->proplist, PA_ALSA_PROP_UCM_NAME);
1601 pa_log_debug("UCM mapping: %s dev %s", m->name, device_name);
1771 pa_alsa_ucm_device *dev;
1816 PA_LLIST_FOREACH(dev, verb->devices) {
1820 name = pa_proplist_gets(dev->proplist, PA_ALSA_PROP_UCM_NAME);
1822 sink = pa_proplist_gets(dev->proplist, PA_ALSA_PROP_UCM_SINK);
1823 source = pa_proplist_gets(dev->proplist, PA_ALSA_PROP_UCM_SOURCE);
1825 ucm_create_mapping(ucm, ps, p, dev, verb_name, name, sink, source);
1827 jack = ucm_get_jack(ucm, dev);
1829 device_set_jack(dev, jack);
1833 jack_hw_mute = pa_proplist_gets(dev->proplist, PA_ALSA_PROP_UCM_JACK_HW_MUTE);
1889 pa_alsa_ucm_device *dev;
1906 PA_IDXSET_FOREACH(dev, context->ucm_devices, idx) {
1910 dev->eld_mixer_device_name = mdev;
1911 dev->eld_device = pcm_device;
1975 pa_alsa_ucm_device *dev;
1978 PA_IDXSET_FOREACH(dev, context->ucm_devices, idx) {
1981 if (!dev->jack || !dev->jack->mixer_device_name)
1984 mixer_handle = pa_alsa_open_mixer_by_name(mixers, dev->jack->mixer_device_name, true);
1986 pa_log_error("Unable to determine open mixer device '%s' for jack %s", dev->jack->mixer_device_name, dev->jack->name);
1990 has_control = pa_alsa_mixer_find_card(mixer_handle, &dev->jack->alsa_id, 0) != NULL;
1991 pa_alsa_jack_set_has_control(dev->jack, has_control);
1992 pa_log_info("UCM jack %s has_control=%d", dev->jack->name, dev->jack->has_control);
2178 pa_alsa_ucm_device *dev;
2184 PA_IDXSET_FOREACH(dev, context->ucm_devices, idx) {
2186 dev->playback_mapping = NULL;
2188 dev->capture_mapping = NULL;