mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-03 09:01:54 -05:00
pulse-server: parse HARDWARE props
This commit is contained in:
parent
cd74fd54de
commit
15f8b7aa4a
1 changed files with 10 additions and 0 deletions
|
|
@ -39,6 +39,9 @@ struct volume_info {
|
||||||
float level;
|
float level;
|
||||||
float base;
|
float base;
|
||||||
uint32_t steps;
|
uint32_t steps;
|
||||||
|
#define VOLUME_HW_VOLUME (1<<0)
|
||||||
|
#define VOLUME_HW_MUTE (1<<1)
|
||||||
|
uint32_t flags;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define VOLUME_INFO_INIT (struct volume_info) { \
|
#define VOLUME_INFO_INIT (struct volume_info) { \
|
||||||
|
|
@ -59,13 +62,20 @@ static int volume_parse_param(const struct spa_pod *param, struct volume_info *i
|
||||||
switch (prop->key) {
|
switch (prop->key) {
|
||||||
case SPA_PROP_volume:
|
case SPA_PROP_volume:
|
||||||
spa_pod_get_float(&prop->value, &info->level);
|
spa_pod_get_float(&prop->value, &info->level);
|
||||||
|
SPA_FLAG_UPDATE(info->flags, VOLUME_HW_VOLUME,
|
||||||
|
prop->flags & SPA_POD_PROP_FLAG_HARDWARE);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case SPA_PROP_mute:
|
case SPA_PROP_mute:
|
||||||
spa_pod_get_bool(&prop->value, &info->mute);
|
spa_pod_get_bool(&prop->value, &info->mute);
|
||||||
|
SPA_FLAG_UPDATE(info->flags, VOLUME_HW_MUTE,
|
||||||
|
prop->flags & SPA_POD_PROP_FLAG_HARDWARE);
|
||||||
break;
|
break;
|
||||||
case SPA_PROP_channelVolumes:
|
case SPA_PROP_channelVolumes:
|
||||||
info->volume.channels = spa_pod_copy_array(&prop->value, SPA_TYPE_Float,
|
info->volume.channels = spa_pod_copy_array(&prop->value, SPA_TYPE_Float,
|
||||||
info->volume.values, SPA_AUDIO_MAX_CHANNELS);
|
info->volume.values, SPA_AUDIO_MAX_CHANNELS);
|
||||||
|
SPA_FLAG_UPDATE(info->flags, VOLUME_HW_VOLUME,
|
||||||
|
prop->flags & SPA_POD_PROP_FLAG_HARDWARE);
|
||||||
break;
|
break;
|
||||||
case SPA_PROP_volumeBase:
|
case SPA_PROP_volumeBase:
|
||||||
spa_pod_get_float(&prop->value, &info->base);
|
spa_pod_get_float(&prop->value, &info->base);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue