diff --git a/spa/include/spa/param/type-info.h b/spa/include/spa/param/type-info.h index 948998696..191623f1e 100644 --- a/spa/include/spa/param/type-info.h +++ b/spa/include/spa/param/type-info.h @@ -67,6 +67,16 @@ static const struct spa_type_info spa_type_param[] = { #include #include +static const struct spa_type_info spa_type_prop_channel_volume[] = { + { SPA_PROP_START, SPA_TYPE_Float, SPA_TYPE_INFO_BASE "channelVolumes", NULL, }, + { 0, 0, NULL, NULL }, +}; + +static const struct spa_type_info spa_type_prop_channel_map[] = { + { SPA_PROP_START, SPA_TYPE_Id, SPA_TYPE_INFO_BASE "channelMap", spa_type_audio_channel, }, + { 0, 0, NULL, NULL }, +}; + static const struct spa_type_info spa_type_props[] = { { SPA_PROP_START, SPA_TYPE_Id, SPA_TYPE_INFO_PROPS_BASE, spa_type_param, }, { SPA_PROP_unknown, SPA_TYPE_None, SPA_TYPE_INFO_PROPS_BASE "unknown", NULL }, @@ -91,10 +101,10 @@ static const struct spa_type_info spa_type_props[] = { { SPA_PROP_patternType, SPA_TYPE_Id, SPA_TYPE_INFO_PROPS_BASE "patternType", NULL }, { SPA_PROP_ditherType, SPA_TYPE_Id, SPA_TYPE_INFO_PROPS_BASE "ditherType", NULL }, { SPA_PROP_truncate, SPA_TYPE_Bool, SPA_TYPE_INFO_PROPS_BASE "truncate", NULL }, - { SPA_PROP_channelVolumes, SPA_TYPE_Float, SPA_TYPE_INFO_PROPS_BASE "channelVolumes", NULL }, + { SPA_PROP_channelVolumes, SPA_TYPE_Array, SPA_TYPE_INFO_PROPS_BASE "channelVolumes", spa_type_prop_channel_volume }, { SPA_PROP_volumeBase, SPA_TYPE_Float, SPA_TYPE_INFO_PROPS_BASE "volumeBase", NULL }, { SPA_PROP_volumeStep, SPA_TYPE_Float, SPA_TYPE_INFO_PROPS_BASE "volumeStep", NULL }, - { SPA_PROP_channelMap, SPA_TYPE_Id, SPA_TYPE_INFO_PROPS_BASE "channelMap", spa_type_audio_channel }, + { SPA_PROP_channelMap, SPA_TYPE_Array, SPA_TYPE_INFO_PROPS_BASE "channelMap", spa_type_prop_channel_map }, { SPA_PROP_brightness, SPA_TYPE_Int, SPA_TYPE_INFO_PROPS_BASE "brightness", NULL }, { SPA_PROP_contrast, SPA_TYPE_Int, SPA_TYPE_INFO_PROPS_BASE "contrast", NULL }, diff --git a/src/tools/pw-cli.c b/src/tools/pw-cli.c index 5fd06e4a0..3b3c8c5b5 100644 --- a/src/tools/pw-cli.c +++ b/src/tools/pw-cli.c @@ -1575,7 +1575,7 @@ static int json_to_pod(struct spa_pod_builder *b, uint32_t id, spa_pod_builder_push_array(b, &f[0]); spa_json_enter(iter, &it[0]); while ((l = spa_json_next(&it[0], &v)) > 0) - json_to_pod(b, id, info, &it[0], v, l); + json_to_pod(b, id, info->values, &it[0], v, l); spa_pod_builder_pop(b, &f[0]); } else if (spa_json_is_float(value, len)) {